У меня есть датафрейм "df".Я хочу создать два подмножества (a & b) из условного оператора, скажем, переменной «x», имеющей значение больше 10. В SAS это будет что-то вроде: data a, b; set df; if x>10 then output a; else output b.Есть ли способ сделать это в R?
data a, b; set df; if x>10 then output a; else output b
Вы можете использовать split:
split
subs <- split(df,df$x>10) a <- subs[[1]] b <- subs[[2]]
Второй аргумент split принимает фактор, поэтому вы можете использовать более сложные операторы, чтобы получить больше разбиений.
Предполагая, что DF - это ваш фрейм данных, а x - это переменная внутри фрейма данных.
sel <- ( x > 10 ) a <- DF[ sel, ] b <- DF[ !sel, ]