select R 嵌套列表中的特定列
select a specific columns in R nested list
假设我有一个数据框列表,就像这样:
M1 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
M2 <- data.frame(matrix(1:9, nrow = 3, ncol = 3))
M3 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
mlist <- list(M1, M2, M3)
现在我想 select 来自所有数据帧的 X1 列,我试过了:
M.X1 <- mlist$X1
但因 NULL 而失败:
> mlist$X1
NULL
我不想使用 for
来提取每个数据帧' X1
,有没有更好的方法来做到这一点?如果提取列 X3
怎么办? (这意味着某些列可能不存在于其他行中)
通常您可以使用 lapply
如下:
lapply(mlist, function(x) x$X2)
您在内部定义函数的第二个参数传递给 mlist
的每个成员。
假设我有一个数据框列表,就像这样:
M1 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
M2 <- data.frame(matrix(1:9, nrow = 3, ncol = 3))
M3 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
mlist <- list(M1, M2, M3)
现在我想 select 来自所有数据帧的 X1 列,我试过了:
M.X1 <- mlist$X1
但因 NULL 而失败:
> mlist$X1
NULL
我不想使用 for
来提取每个数据帧' X1
,有没有更好的方法来做到这一点?如果提取列 X3
怎么办? (这意味着某些列可能不存在于其他行中)
通常您可以使用 lapply
如下:
lapply(mlist, function(x) x$X2)
您在内部定义函数的第二个参数传递给 mlist
的每个成员。