Условное подмножество в R - PullRequest
3 голосов
/ 19 августа 2011

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

Ответы [ 2 ]

5 голосов
/ 19 августа 2011

Вы можете использовать split:

subs <- split(df,df$x>10)
a <- subs[[1]]
b <- subs[[2]]

Второй аргумент split принимает фактор, поэтому вы можете использовать более сложные операторы, чтобы получить больше разбиений.

1 голос
/ 19 августа 2011

Предполагая, что DF - это ваш фрейм данных, а x - это переменная внутри фрейма данных.

sel <- ( x > 10 )
a <- DF[ sel, ]
b <- DF[ !sel, ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...