2016-08-11 21 views
0

ファンクションを使用してラベル付けしたいが、エラーが発生する。事前に多くの感謝の言葉をお寄せください!ファセットラベラーファンクションを使用して「値がありません」

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)) 

同等:10

答えて

1

は、おそらくかなりの機能を使用するよりも、これを行うための簡単な方法があります。このソリューションはa previously asked questionから来

ggplot(dd, aes(drink)) + 
    geom_bar(stat = "count") + 
    facet_grid(person ~ ., labeller = labeller(person = person_values)) 

注こと。

+0

はい、ずっと簡単です、ありがとうございます! – user3262756

関連する問題