R如何提取列表中每个矩阵的第一行?

时间:2014-08-07 09:08:25

标签: r list matrix element

假设我有一个名为mylist_1的列表,其中包含2个矩阵:

mylist_1

$region_1           
users   50  20  30
revenue 10000   3500    4000

$red            
users   20  20  60
revenue 5000    4000    10000

如何将每个矩阵的第一行提取到自己的矩阵中?

即。输出(这里的第一列是rownames):

region_1    50  20  30
region_2    20  20  60

或每个矩阵的第二行?

region_1    10000   3500    4000
region_2    5000    4000    10000

有没有办法引用列表/矩阵来做到这一点?

由于

2 个答案:

答案 0 :(得分:9)

或者,

lapply(mylist_1, `[`,1,)
lapply(mylist_1, `[`,2,)

答案 1 :(得分:6)

要提取每个矩阵的第一行,您可以使用:

lapply(mylist1, head, 1)

或者,如果你想要rbind他们:

do.call(rbind, lapply(lst, head, 1))

或者(仅)每个矩阵的第二行:

lapply(lst, function(x) x[2,])