或者在数据框中选择表达式

时间:2012-11-07 05:41:21

标签: r dataframe data.table

DF1 <- DF[DF$cat == 'A', ]
DF2 <- DF[DF$cat == 'B', ]
RDF <- rbind(DF1, DF2)

有没有办法以更简单的方式表达这一点,例如

RDF <- DF[DF$ cat == c('A','B'), ] # Does not work

3 个答案:

答案 0 :(得分:3)

RDF <- DF[DF$cat %in% c('A','B'), ]

答案 1 :(得分:1)

您可以使用data.table和键

library(data.table)
DT <- data.table(DF)
setkey(DT, cat)

DT[c("A", "B"),]

答案 2 :(得分:1)

更一般地说,对于两个条件:

RDF <- DF[ DF$cat == "A" | DF$dog == "B", ]