2015-06-18 50 views
0

我有一個數據幀:擺脫鬼/神器變量作爲dplyr ::過濾器()的結果

x <- c(rep("A", 3), rep("B", 3), rep("C", 3)) 
y <- 1:9 
z <- seq(from = 9, to = 81, by = 9) 
df <- data.frame(x, y, z); rm(x, y, z) 

在哪裏,我想只保留 「A」 和 「C」:

library(dplyr) 

df <- df %>% 
    filter(x %in% c("A", "C")) 

但是,當我stripchart()的結果, 「B」 的幽靈依然存在:

with(df, stripchart(z ~ x, method = "jitter", pch=1)) 

enter image description here

我需要在我的filter表達式或鏈中刪除「B」artifact/ghost變量中的哪個參數。

+0

只需將它管到'droplevels'。 – joran

+1

或在'data.frame'定義中使用'stringsAsFactors = FALSE'。 – shadow

回答

0

@ joran的建議的工作:

df <- df %>% 
    filter(x %in% c("A", "C")) %>% 
    droplevels() 

謝謝!