我有三个数据框:df1
,df2
,df3
。
我想将它们合并到一个列表中:
dataframes <- list(df1, df2, df3)
如何使用每个数据框的名称作为相应的列表元素名称?
所以不要这样:
> names(dataframes)
[1] "" "" ""
我明白了:
> names(dataframes)
[1] "df1" "df2" "df3"
答案 0 :(得分:1)
创建列表时需要命名它们:
dataframes <- list(df1=df1, df2=df2, df3=df3)
names(dataframes)
#"df1" "df2" "df3"
答案 1 :(得分:0)
这是使用循环的一个选项。我假设df1
,df2
和df3
是数据框,并已在某处定义。
i <- 1
lst <- list() # an empty list
while (i <= 3) {
df_name <- paste0("df", i)
lst[[i]] <- get(df_name)
names(lst)[i] <- df_name
i <- i + 1
}
names(lst)
[1] "df1" "df2" "df3"
虽然许多人认为使用R中的循环是邪恶的,但上面的情况并不是那么糟糕,因为我们只是随着循环的进行逐个添加新的列表项(及其名称)。