2017-08-04 19 views
-1

我正在使用方括號來根據邏輯運算符選擇數據框中的數據行。例如,如果我有一個數據幀使用邏輯運算符選擇具有多個值的數據幀行

df = data.frame(Letter = rep(c("A", "B", "C", "D", "E"), 10), Number = rep(c(1:25), 4)) 

,我想選擇包含字母A,B,或CI使用代碼

df = df[df$Letter == "A" | df$Letter == "B" | df$Letter == "C",] 

我不知道是否有一排方式凝結此,沿

df = df[df$Letter == c("A", "B", "C"),] 

也許

df = df[df$Letter == "A" | "B" | "C",] 
0線的東西

這兩者都不起作用,但基本上我正在尋找一種更簡單,更簡單的方式來列出幾個邏輯運算符。

我寧願用方括號而非subset()或其他一些功能做,但如果真的是無法用方括號,然後我將開放給其他想法

+2

'DF = DF [DF以%C $信%( 「A」, 「B」, 「C」),]'是你正在尋找的溶液。 –

回答

1

你可以這樣做:

df <- df[df$Letter %in% c("A", "B", "C"),] 
0

對於這些情況我使用dplyr包。

library(dplyr) 
new.df <- df %>% 
filter(Letter %in% c("A", "B", "C")) 

我希望幫助,

喝彩!

PS:dplyr欺騙片是here