当我想要所有行以及矩阵或数据帧的特定列时,我们使用df[ ,"column x"]
。有没有什么能够快速提取列表中每个数据帧的第i个元素?
例如,获取以下列表中每个矩阵的第2行
example <- list(matrix(1:9,3,3) , matrix(11:19,3,3), matrix(21:29,3,3))
我想知道example[[:]][2,]
之类的东西是否存在
请不要提出带有循环或s(l)适用的解决方案
谢谢,
答案 0 :(得分:0)
怎么样
lapply(example, function(x) x[2,])
我知道你明确要求没有人给你正确答案,但我无法帮助你。这是你在R。
中的表现也许我发现了一个漏洞,你没有说我无法使用Map()
Map(function(x) x[2,], example)
答案 1 :(得分:0)
一般情况下,如果没有任何类型的*apply
,您就无法执行此操作(建议的Map
是mapply
的别名)。对于您的特定示例,您可以rbind
将所有矩阵放在一起,而不是通过以下每个矩阵的第二行:
do.call(rbind,example)[seq(2,by=3,length.out=length(example)),]
当然,只有当您的列表中的矩阵可以rbind
组合在一起时,上述内容才有效。