R 从数据帧列表中提取特定信息
我面临以下挑战: 我在R中有一个数据帧列表,我想从中提取一些特定的信息。以下是一个例子:R 从数据帧列表中提取特定信息,r,R,我面临以下挑战: 我在R中有一个数据帧列表,我想从中提取一些特定的信息。以下是一个例子: df_1 <- data.frame(A = c(1,2), B = c(3,4), D = c(5,6)) df_2 <- data.frame(A = c(7,8), B = c(9,10), D = c(11,12)) df_3 <- data.frame(A = c(0,1), B = c(2,3), D = c(4,5)) L <- list(df_1, df_2, df
df_1 <- data.frame(A = c(1,2), B = c(3,4), D = c(5,6))
df_2 <- data.frame(A = c(7,8), B = c(9,10), D = c(11,12))
df_3 <- data.frame(A = c(0,1), B = c(2,3), D = c(4,5))
L <- list(df_1, df_2, df_3)
df_1正如Ronak所建议的,您可以使用像lapply这样的函数,并使用unlist来包装它以获得所需的输出
unlist(lapply(L,function(x) x[1,1]))
除了上面显示的*apply
方法外,您还可以以矢量化的方式执行此操作。由于列表中的所有数据帧都具有相同的列名,并且您需要第一列中的第一个元素,即“A1”,因此您可以简单地取消列表
(这将创建命名向量)并获取名称为A1
的值
v1 <- unlist(L)
v1[names(v1) == 'A1']
#A1 A1 A1
# 1 7 0
v1lappy(L,函数(x)x[1,1])
?或者使用sapply
,sapply(L,函数(x)x[1,1])
。另一种方式:sapply(L,
[,1,1)
。或者在一行中(创建数据帧之后):resunlist(lapply(…
=sapply