【发布时间】:2020-09-06 21:17:32
【问题描述】:
我的数据如下:
library(data.table)
df <- fread(
"A B C D E F iso year
0 A NA 1 NA NA NLD 2009
1 Y NA 2 NA NA NLD 2009
0 Q NA 3 NA NA AUS 2011
1 NA NA 4 NA NA AUS 2011
0 0 NA 7 NA NA NLD 2008
1 1 NA 1 NA NA NLD 2008
0 1 NA 3 NA NA AUS 2012
0 NA 1 NA 1 NA ECU 2009
1 NA 0 NA 2 0 ECU 2009
0 NA 0 NA 3 0 BRA 2011
1 NA 0 NA 4 0 BRA 2011
0 NA 1 NA 7 NA ECU 2008
1 NA 0 NA 1 0 ECU 2008
0 NA 0 NA 3 2 BRA 2012
1 NA 0 NA 4 NA BRA 2012",
header = TRUE
)
# Creates a list of dataframes
df_iso <- split(df, df$iso) # Creates a list of dataframes
我现在想在列表的每个数据集中提取第 8 列的列名。
显然在这种情况下它们都是"year",但在我的实际数据中它们是不同的。
如果我这样做colnames(df_iso[[1]])[8] 我得到"year",所以我尝试了:
我试过了:
names <- list()
for (i in length(df_iso)) {
names <- as.vector(append(names , colnames(df_iso[[i]])[8]))
}
令人惊讶的是,这不起作用。我想要一个列表或向量,df_iso 中的每个 data.frame 都给我“年份”,有人可以帮忙吗?
【问题讨论】:
标签: r list data.table names