为可变数据框分配可变列名称
Assigning variable column names for a variable data frames
我正在遍历数据框列表 dfList
,所有这些都是 Nx2,我想将每个数据框的列名更改为 c("Date", dfList[i])
。例如:
dfList <- c("df1", "df2", "df3")
for(i in 1:length(dfList)){
names(get(dfList[i])) <- c("Date", dfList[i])
}
这会导致错误:
Error in names(get(dfList[i])) <- c("Date", dfList[i]) :
could not find function "get<-"
names(get(dfList[i]))
本身有效,returns 原始列名。此外,c("Date", dfList[i])
有效。
知道如何解决我收到的错误吗?
谢谢!
尝试:
for(i in 1:length(dfList)){
temp <- get(dfList[i])
names(temp) <- c("Date", dfList[i])
assign(dfList[i],temp)
}
请注意,通常应避免使用 get
和 assign
,并且最好在创建数据框时指定列名。
如果你可以使用 purrr:
library(purrr)
df_list <- list(data.frame(1:10, ncol = 2),
data.frame(1:20, ncol = 2),
data.frame(1:30, ncol = 2))
map2(df_list, 1:length(df_list), function(x, y) setNames(x, c("Date", paste('df', y, sep = ""))))
我正在遍历数据框列表 dfList
,所有这些都是 Nx2,我想将每个数据框的列名更改为 c("Date", dfList[i])
。例如:
dfList <- c("df1", "df2", "df3")
for(i in 1:length(dfList)){
names(get(dfList[i])) <- c("Date", dfList[i])
}
这会导致错误:
Error in names(get(dfList[i])) <- c("Date", dfList[i]) : could not find function "get<-"
names(get(dfList[i]))
本身有效,returns 原始列名。此外,c("Date", dfList[i])
有效。
知道如何解决我收到的错误吗?
谢谢!
尝试:
for(i in 1:length(dfList)){
temp <- get(dfList[i])
names(temp) <- c("Date", dfList[i])
assign(dfList[i],temp)
}
请注意,通常应避免使用 get
和 assign
,并且最好在创建数据框时指定列名。
如果你可以使用 purrr:
library(purrr)
df_list <- list(data.frame(1:10, ncol = 2),
data.frame(1:20, ncol = 2),
data.frame(1:30, ncol = 2))
map2(df_list, 1:length(df_list), function(x, y) setNames(x, c("Date", paste('df', y, sep = ""))))