3
我有一个数据帧“df”。我想从条件语句中创建两个子集(a & b),比如变量“x”的值大于10.在SAS中,这将是类似于: data a, b; set df; if x>10 then output a; else output b
。 有没有办法在R中做到这一点?R中的条件子集
我有一个数据帧“df”。我想从条件语句中创建两个子集(a & b),比如变量“x”的值大于10.在SAS中,这将是类似于: data a, b; set df; if x>10 then output a; else output b
。 有没有办法在R中做到这一点?R中的条件子集
你可以使用split
:
subs <- split(df,df$x>10)
a <- subs[[1]]
b <- subs[[2]]
分裂的第二个参数需要一个因素,所以你可以使用更复杂的语句来提供更多的分割。
假设DF是数据帧和x是一个data.frame内的变量:
sel <- (x > 10)
a <- DF[ sel, ]
b <- DF[ !sel, ]