У меня есть список фреймов данных:
d1<-data.frame(a=rnorm(5), b=c(rep(2006, times=4),NA))
d2<-data.frame(a=1:5, b=c(2007, 2007, NA, NA, 2007))
d <- list(d1,d2)
Я хочу установить подкадры данных на основе значения столбца b в первой строке.
d <- lapply(d, function(x) ifelse(x[1,2] == 2006, x[-1,], x))
Я пытался с вышеуказанным кодом. Вместо того, чтобы возвращать список фреймов данных с удаленной первой строкой в фрейме данных 1, я получил следующее:
[[1]]
[[1]][[1]]
[1] -1.0604320 -1.1117245 -0.2147006 1.0389965
[[2]]
[[2]][[1]]
[1] 1 2 3 4 5
Ожидаемый результат следующий:
[[1]]
a b
2 -1.0604320 2006
3 -1.1117245 2006
4 -0.2147006 2006
5 1.0389965 NA
[[2]]
a b
1 1 2007
2 2 2007
3 3 NA
4 4 NA
5 5 2007