我正在使用R中的数据框,并且经常在我的数据框架上使用很多条件,主要是&
和|
运算符。我这样做是这样的:
df = data.frame("col1"=c("success", "failure", "success"), "col2"=c("success", "success", "failure"), "col3"=c(1,1,100))
#multiple conditions, option 1
df[(df[["col1"]]=="success") & (df[["col2"]]=="success") & (df[["col3"]] == 1), ]
#multiple conditions, option 2
df[which((df[["col1"]]=="success") & (df[["col2"]]=="success") & (df[["col3"]] == 1)),]
但是,我的表达方式往往很长很难以阅读。
我根据其他帖子将这些内容放在一起,关于not using subset,using | correctly,但没有'找到解决这个问题的任何事情。
我希望这不是基于意见的,否则我会收回我的问题。谢谢!
答案 0 :(得分:2)
一种选择是使用dplyr包中的filter()
功能:
library(dplyr)
filter(df, col1=="success" & col2=="success" & col3==1)
您还可以使用逗号(相当于&)分隔多个参数:
filter(df, col1=="success", col2=="success", col3==1)
答案 1 :(得分:0)
试试这个:(可能不是笨拙但有同样的'&')
> df[df$col1=="success" & df$col2=="success" & df$col3==1,]
col1 col2 col3
1 success success 1