Я хотел бы создать four
наборы данных из следующего заданного фрейма данных с помощью нескольких условий в x1
и x2
mydata=structure(list(y = c(-3, 24, 4, 5, 3, -3, -3, 24, 5, 4, 8, 7,
9, 2, 4, 8, 7, 3, 8, 12, 9, 10, 12, 11, 2),
x1 = c(0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1,
0, 1, 0, 1, 1, 0, 0, 1, 1, 1
),
x2 = c(1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0,
0, 1, 0, 0, 1, 1, 1, 0)), class = "data.frame",
row.names = c(NA,25L))
Первый набор данных - mydata00
, который построен с этими условиями x1=0
и x2=0
,
mydata00=filter(mydata, c(mydata$x1==0 & mydata$x2==0))
> mydata00
y x1 x2
1 -3 0 0
2 -3 0 0
3 8 0 0
4 3 0 0
5 9 0 0
Теперь мне нужны только значения unique
y
и соответствующие x1
и x2
. Наконец, я бы хотел отсортировать y
. Таким образом, мой окончательный набор данных должен выглядеть следующим образом:
y x1 x2
1 -3 0 0
2 3 0 0
3 8 0 0
4 9 0 0
Я хотел бы выполнить работу для mydata11
, mydata10
, mydata01
, где
mydata11=filter(mydata, c(mydata$x1==1 & mydata$x2==1))
mydata10=filter(mydata, c(mydata$x1==1 & mydata$x2==0))
mydata01=filter(mydata, c(mydata$x1==0 & mydata$x2==1))
Могу ли я использовать любой для l oop или встроенную функцию для создания этих наборов данных? Любая помощь приветствуется.