r语言 - 以与访问矩阵元素相同的方式访问列表元素



我有一个矩阵:

mat <- matrix(c(3,9,5,1,-2,8), nrow = 2)
[,1] [,2] [,3]
[1,]    3    5   -2
[2,]    9    1    8

我有一个列表:

lst <- as.list(data.frame(matrix(c(3,9,5,1,-2,8), nrow = 2)))
$X1
[1] 3 9
$X2
[1] 5 1
$X3
[1] -2  8

我可以通过mat[i,j]访问矩阵我可以访问列表lst[[c(i,j)]]

但是如果在一个矩阵中如果我做mat[1,2],我得到一个5。如果我在列表lst[[c(1,2)]]中使用相同的数字,我得到9。

当我访问列表时,是否有一种方法可以获得相同的数字?也许以某种方式操纵列表?当我使用lst[[c(1,2)]]时,我想得到5而不是9,我想得到与使用mat[i,j]时相同的数字。

你可以试试

> list2DF(lst)[1, 2]
[1] 5

您可以使用purrr中的transpose()来转置列表

lst2 <- purrr::transpose(lst)
lst2[[c(1,2)]]
# [1] 5

最新更新