在R中的条件子集操作

3

我有一个数据框“df”。我想从条件语句中创建两个子集(a和b),例如,变量“x”的值大于10。在SAS中,可以这样做: data a, b; set df; if x>10 then output a; else output b. 在R中是否有类似的方法?

2个回答

5
你可以使用 split 函数:
subs <- split(df,df$x>10)
a <- subs[[1]]
b <- subs[[2]]

split的第二个参数是一个因子,因此您可以使用更复杂的语句来进行更多的拆分。

1
假设DF是您的数据框,x是数据框中的变量:
sel <- ( x > 10 )
a <- DF[ sel, ]
b <- DF[ !sel, ]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接