如何从列表中保存特定元素?

时间:2017-05-22 10:17:45

标签: r list split save elements

关于如何从矩阵(Get all diagonal vectors from matrix)获取对角矢量的Stackoverflow问题,我在尝试保存其中一个元素时遇到了问题。

A <- matrix(1:16, 4)
d <- row(A) - col(A)
d.chem <- split(A, d)
d.chem 
# $`-3`
# [1] 13
# 
# $`-2`
# [1]  9 14
# 
# $`-1`
# [1]  5 10 15
# 
# $`0`
# [1]  1  6 11 16
# 
# $`1`
# [1]  2  7 12
# 
# $`2`
# [1] 3 8
# 
# $`3`
# [1] 4

我想保存这个元素:$ -1。我该怎么做? 我尝试了以下但是收到了一条错误消息:

    lapply(d.chem, '[[', 3)
#Error in FUN(X[[i]], ...) : subscript out of bounds
    unlist(lapply(d.chem, '[[', 3))
#Error in FUN(X[[i]], ...) : subscript out of bounds

2 个答案:

答案 0 :(得分:2)

您可以使用:

d.chem$`-1`

考虑使用“符号来访问&#34; -1&#34;名单成员。

答案 1 :(得分:0)

您也可以通过索引d.chem[3]访问该元素