【发布时间】:2017-08-10 03:10:57
【问题描述】:
我有多个数据框,并希望在每个数据框的同名列上执行相同的操作。
我能够执行一个 for 循环来读取多个 CSV 并创建数据帧,但无法让一个 for 循环工作以在数据帧的同一列中使用 str_pad。
例如,我有:
a$ARTICLE_NUMBER <- str_pad(a$ARTICLE_NUMBER, 11, pad = 0)
b$ARTICLE_NUMBER <- str_pad(b$ARTICLE_NUMBER, 11, pad = 0)
c$ARTICLE_NUMBER <- str_pad(c$ARTICLE_NUMBER, 11, pad = 0)
我试过了:
vendor_list <- c("a", "b", "c")
for(i in vendor_list){
i[ARTICLE_NUMBER] <- str_pad(i[ARTICLE_NUMBER], width = 11, pad = 0)
}
还有:
lapply(vendor_list, function(x){
x[ARTICLE_NUMBER] <- str_pad(x[ARTICLE_NUMBER], width = 11, pad = 0)
return(x)
})
还有:
string_pad <- function(x){
x[ARTICLE_NUMBER] <- str_pad(x[ARTICLE_NUMBER], width = 11, pad = 0)
}
vendor_list <- lapply(vendor_list, string_pad(x) x[, 1])
不知道我错过了什么。非常感谢任何帮助!
【问题讨论】:
-
@alistaire 感谢您的链接。很好的阅读。
-
感谢@alistaire,我会去阅读并进行相应调整。我将对这些数据帧采取许多其他操作,因此在我写入 xls 文件时,合并 dfs 然后将它们拆分回来可能会有意义。
标签: r