2016-12-29 68 views
1

我在R中工作,并且具有以下情况: 每个20个数据帧的10个列表。数据帧都具有相同数量的行和列。R从多个列表中的每个数据帧中提取值

现在我想从每个列表中的每个数据帧中提取一个值。这是从列名从那里列“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 

所以我想这与包含dataframes名单的工作,而不只是重视。

+1

价值目前还不清楚你想要什么样的“A”列的值。也许'lapply(lst,function(x)x $ A [x $ B == 3])' – akrun

+0

@akrun确实,这是我想要的。 – user1987607

回答

1

我们遍历的data.framelist,并提取对应于“B”的3

lapply(lst, function(x) x$A[x$B==3]) 
相关问题