如果我有一个列表,如下所示:
现在我想为temp列添加校正值,dataframe 1添加+1,dataframe 3添加-1,因此结果应该是:
list <- list( "1" = data.frame(time=1:3, temp = sample(11:13)),
"3" = data.frame(time=1:3, temp = sample(11:13)))
list
$`1`
time temp
1 1 11
2 2 12
3 3 13
$`3`
time temp
1 1 11
2 2 12
3 3 13
现在我想为temp列添加校正值,dataframe 1添加+1,dataframe 3添加-1,因此结果应该是:
$`1`
time temp
1 1 12
2 2 13
3 3 14
$`3`
time temp
1 1 10
2 2 11
3 3 12
假设我有多个这样的列表,有时可能会缺少数据帧3或1,甚至可能包含数据帧2,这将需要自己的校正因子... 我尝试了一些奇怪的方法来处理数据帧1:
list <- lapply(list, function(x) {x <- x$"1"$temp-1;x})
或者
list <- lapply(list, function(x) {x <- x[x$temp+1,];x})
我也尝试为列表中的另一个数据框添加seq_along...但是什么都没起作用,可能是因为我不太理解语法是如何工作的...