Ако имам следния списък с кадри с данни:
d1 <- data.frame(y1=c(1,2,3), y2=c(4,5,6))
d2 <- data.frame(y1=c(3,2,1), y2=c(6,5,4))
d3 <- data.frame(y1=c(6,5,4), y2=c(3,2,1))
d4 <- data.frame(y1=c(9,9,9), y2=c(8,8,8))
my.list <- list(d1, d2, d3, d4)
my.list
[[1]]
y1 y2
1 1 4
2 2 5
3 3 6
[[2]]
y1 y2
1 3 6
2 2 5
3 1 4
[[3]]
y1 y2
1 6 3
2 5 2
3 4 1
[[4]]
y1 y2
1 9 8
2 9 8
3 9 8
как да заменя стойностите във втората колона, където числото е по-голямо от 5 с "по-голямо от 5", т.е.
my.list
[[1]]
y1 y2
1 1 4
2 2 5
3 3 'greater than five'
[[2]]
y1 y2
1 3 'greater than five'
2 2 5
3 1 4
[[3]]
y1 y2
1 6 3
2 5 2
3 4 1
[[4]]
y1 y2
1 9 'greater than five'
2 9 'greater than five'
3 9 'greater than five'
Знам, че мога да тествам за такива случаи, като направя нещо като:
sapply(sapply(my.list, "[[", 2), function(x) x > 5)
[1] FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE
но не може да разбере как да замени оригиналната стойност, когато тестът е верен.
всяка помощ ще бъде много благодаря