【问题标题】:Looping multiple data frames in R在R中循环多个数据帧
【发布时间】:2021-04-18 06:16:53
【问题描述】:

我想知道是否可以循环数据帧并更改每个字段的内容。

有 df1, df2, df3, ... df100 等数据帧

在每个数据框中,有一个食物列,有a,b

我想把df$food中的a和b都改成apple,banana!

for (i in 1:100){
    paste('df', i, '$food') <- factor(paste('df', i, '$food'), level = c(a,b), labels = c("apple","banana"))
}

你认为像上面这样的循环可行吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    如果将它们放在数据框列表中并使用lapply 会更容易。

    result <- lapply(mget(paste0('df', 1:100)), function(x) transform(x, 
                 food = factor(food, level=c("a","b"), labels=c("apple","banana"))))
    

    更新原始数据帧。

    list2env(result, .GlobalEnv)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 2016-04-22
      相关资源
      最近更新 更多