"value missing" 具有分面标签功能
"value missing" with facet labeller function
我想使用函数进行标记,但出现错误。非常感谢您的输入!
1_Load 包
library(ggplot2)
2_Dataframe
drink <- c(replicate(18, "Water"),
replicate(22, "Beer"),
replicate(20, "Coke"))
person <- c(replicate(6, c(replicate(5, 1), replicate(5, 2))))
dd <- data.frame(person, drink)
rm(drink, person)
3_Labeller 函数
mf_labeller <- function(var, value){
value <- as.character(value)
if(var == "person"){
value[value == "1"] <- "Women"
value[value == "2"] <- "Men"
}
return(value)
}
4_Labelled剧情(此处出现错误!)
p <- ggplot(dd,
aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ .,
labeller = mf_labeller)
p
也许有更简单的方法来做到这一点,而不是使用函数:
person_values <- c("1" = "Women",
"2" = "Men")
ggplot(dd, aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ ., labeller = as_labeller(person_values))
同样地,来自 labeller
文档:
ggplot(dd, aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ ., labeller = labeller(person = person_values))
请注意,此解决方案来自 a previously asked question。
我想使用函数进行标记,但出现错误。非常感谢您的输入!
1_Load 包
library(ggplot2)
2_Dataframe
drink <- c(replicate(18, "Water"),
replicate(22, "Beer"),
replicate(20, "Coke"))
person <- c(replicate(6, c(replicate(5, 1), replicate(5, 2))))
dd <- data.frame(person, drink)
rm(drink, person)
3_Labeller 函数
mf_labeller <- function(var, value){
value <- as.character(value)
if(var == "person"){
value[value == "1"] <- "Women"
value[value == "2"] <- "Men"
}
return(value)
}
4_Labelled剧情(此处出现错误!)
p <- ggplot(dd,
aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ .,
labeller = mf_labeller)
p
也许有更简单的方法来做到这一点,而不是使用函数:
person_values <- c("1" = "Women",
"2" = "Men")
ggplot(dd, aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ ., labeller = as_labeller(person_values))
同样地,来自 labeller
文档:
ggplot(dd, aes(drink)) +
geom_bar(stat = "count") +
facet_grid(person ~ ., labeller = labeller(person = person_values))
请注意,此解决方案来自 a previously asked question。