【问题标题】:Loop over several dataframes in R循环遍历 R 中的几个数据帧
【发布时间】:2020-08-06 13:11:33
【问题描述】:

我有几个数据框,我想在同一个代码中一个接一个地使用它们。在我编写的代码行中,我使用了变量“my_data”(基本上是一个数据框)。因此,我认为最简单的解决方案是将我的每个其他数据帧一个接一个地分配给“my_data”,以便可以在循环中为每个数据帧执行以下所有代码,而无需更改我已经拥有的代码.

我的结构如下:

#Datasets:
    my_data
    
    age_date
    gender_data
    income_data

   ## Code that uses "my_data" follows here" ##

如何创建一个循环,首先将“age_data”分配给“my_data”并执行将“my_data”用作变量的代码。然后,在它到达末尾后,重新启动并将“gender_data”分配给变量“my_data”,并执行相同的操作,直到所有变量都完成此操作。

非常感谢您的帮助!

【问题讨论】:

  • 查看lapply及相关功能的在线文档。
  • 第一步,将你的 data.frames 放入一个列表中(最好在创建时这样做)。您可以轻松地遍历列表。

标签: r dataframe loops for-loop


【解决方案1】:

我正在尝试根据提供的信息来回答:

datanames <- c("age_data","gender_data","income_data")

for (dname in datanames){
 my_data <- data.frame()
 my_data <- get(dname)
 # here you can write rest of the code
 rm(mydata)
}

【讨论】:

  • 是的,你是对的。正如 ThomasIsCoding 所使用的,get(dname) 将起作用。
  • my_data &lt;- data.frame() 是多余的。
【解决方案2】:

也许你可以在for 循环中尝试get

for (i in c(  "age_date", "gender_data","income_data")) {
  my_data <- get(i)
}

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 2017-12-14
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 2017-07-05
    相关资源
    最近更新 更多