我在R工作并遇到以下情况: 每20个数据帧的10个列表。数据帧都具有相同的行数和列数。
现在我想从每个列表中的每个数据帧中提取一个值。这是来自列'B'等于3的行的列名'A'的值。因此,使用下面的示例(表示一个数据帧),我需要提取值8
A B C
0 1 0
1 2 0
8 3 0
我想将列表中所有数据帧的值存储在向量中。
我在此论坛的另一个问题中找到了以下代码
List <- list(c(1:3,4:5), c(4:6), c(7:9))
lapply(List, '[[', 3) # This retuns a list with only the third element
unlist(lapply(List, '[[', 3)) # This retuns a vector with the third elements
所以我希望这可以使用包含数据帧的列表,而不仅仅是值。
答案 0 :(得分:1)
我们遍历list
data.frame
并提取与'B'值对应的'A'列值
lapply(lst, function(x) x$A[x$B==3])