У меня есть фрейм данных, который я хочу вырезать, и я сохраняю каждое подмножество как элемент нового списка.Разрезы даны в соответствии со значениями клеток.Например, если у меня есть:
> df
X1 X2
1 red 1
2 blue 3
3 green 2
4 pierre 10
5 pink 4
6 blue 3
7 green 2
8 eric 25
9 purple 8
10 red 1
11 anna 30
12 blue 3
13 green 2
14 black 5
15 yellow 6
16 marie 40
17 violet 7
> df2
X1 X2 X3
1 pierre eric 77
2 anna marie 100
Я хотел бы вырезать df в подмножествах, пределы которых являются строками, в которых значение X1 равно значениям, заданным X1 (для верхнего предела) и X2(для нижнего) в df2.Чтобы было понятнее, я хочу, чтобы мой список выглядел следующим образом:
> list
[[1]]
X1 X2
4 pierre 10
5 pink 4
6 blue 3
7 green 2
8 eric 25
[[2]]
X1 X2
11 anna 30
12 blue 3
13 green 2
14 black 5
15 yellow 6
16 marie 40
Я пытался сделать это с помощью цикла for:
> for (i in 1:nrow(df2)){
list[i]<-list(df[which(df[,"X1"]==df2[i,"X1"]):which(df[,"X1"]==df2[i,"X2"]),])
}
Но я получаю следующее сообщение об ошибке:
Error in list[i] <- list(df[which(df[, "X1"] == df2[i, "X1"]):which(df[, :
object of type 'builtin' is not subsettable
Знаете ли вы, что не так и / или другой способ получить ожидаемый результат?