【问题标题】:using dataframe names in a loop in R在 R 的循环中使用数据框名称
【发布时间】:2019-03-11 06:40:14
【问题描述】:

我正在使用以下代码循环访问数据帧 df1、df2 和 df3 并重命名它们。这给了我一个错误。我如何告诉 R 它是一个数据框而不是一个

for(i in c(df1,df2,df3)) {
  colnames(data.frame(i))=c("var1","var2","var3")
}  

【问题讨论】:

  • 创建一个列表并使用lapply 更改名称:lapply(list(df1, df2, df3), function(x) { names(x) <- paste0("var", 1:3); x })
  • @markus 或使用setNames(x, paste0("var", 1:3)) 并避免在最后返回对象。
  • 感谢您的回答。另外,当我的函数传递一个字符串时,假设“count”并且我想在函数中使用它创建多个变量,例如 a_count b_count c_count 我该如何进行?
  • @abhi 发布另一个问题,其中包含一个显示问题的简短示例

标签: r


【解决方案1】:

尝试使用列表来代替

dfl=list(df1,df2,df3)
  for(i in 1:length(dfl)) {
    colnames(dfl[[i]])<-c("var1","var2","var3")
  }

【讨论】:

  • 感谢您的回答。另外,当我的函数传递一个字符串时,假设“count”并且我想在函数中使用它创建多个变量,例如 a_count b_count c_count 我该如何进行?
  • 相同的答案:改用列表。 Reading this would probably be good for you.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多