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 的每个成员。