2017-11-13 14 views
0

ただggplotとファセットオプションファセットにggplotを使用してNAsを含む観測値を接続するには?

df <- data.frame(
    time = 1:5, 
    y1 = c(4, 2, 3, 1, NA), 
    y2 = c(4, 5, NA, 6, 10), 
    y3 = c(8, 7, NA, 4, 5) 
) 

    library(ggplot2) 
    ggplot(df, aes(x=time, y=y2)) + geom_line() # no connection between observations 

    ggplot(na.omit(df), aes(x=time, y=y2)) + geom_line() # a way to connect is to omit NAs but this works only when one variable 

    library(tidyr) 
    df2 <- df %>% gather(key = "var", value = "values", 2:4) # gather values from variables 

    ggplot(df2, aes(x=time, y=values, colour = var)) + geom_line()+ 
    facet_wrap(~ var) # no connection between observations ==> issue ! 

任意のアイデアを使用してNASを含む観測を接続し使用することを目指して?

答えて

1

gather関数を使用してNAの値を削除し、データをプロットする場合は、na.rm = TRUEを設定できます。私の答えを受け入れるあちこちおかげ@dambach

library(tidyr) 
df2 <- df %>% gather(key = "var", value = "values", 2:4, na.rm = TRUE) 

ggplot(df2, aes(x = time, y = values, colour = var)) + 
    geom_line() + 
    facet_wrap(~var) 

enter image description here

+1

。 'na.omit'を使う必要がない' gather'関数を使うときには 'na.rm = TRUE'を設定できることに気付きました。 – www

関連する問題