我想将此代码应用于多个数据帧列表(df)。
df1<- lapply(df1, function(x) {
x$Date <- as.Date((x$Date), format="%Y-%m-%d")
x})
数据帧列表称为df1
,df2
,df3
,df4
和abc1
,abc2
,abc3
, abc4
。日期列始终位于同一位置。
我尝试执行此操作以完成df1-4
,但不起作用。
for (i in 1:4) {
df[i] <- lapply(df[i], function(x) {
x$Date <- as.Date((x$Date), format="%Y-%m-%d")
x})}
我还考虑过将所有文件名放入列表中并以此循环:
df_list = c("df1","df2", "df3", "df4", "abc1", "abc2", "abc3", "abc4")
但是我还没有成功。我想保留文件的原始名称。有什么建议吗?
答案 0 :(得分:1)
for(i in 1:length(df_list)) {
df_list[[i]] <- lapply(df_list[[i]], function(x) {
x$Date <- as.Date((x$Date), format="%Y-%m-%d")
x})
}
这对您有用吗?
对我来说确实如此:
class(df_list[[1]][[1]]$Date)
[1] "Date"
您的错误似乎是由于您使用[]
而不是[[]]
而发生的。您必须使用双括号来引用data.frame。