对于线性模型的循环通过R中的列表

时间:2015-03-25 15:05:58

标签: r list loops for-loop

我是R的新手,并且很可能是一个非常简单和基本的问题,涉及如何使用我拥有的一组数据来确定For循环。

我有10个csv文件。每个文件都包含一个表,其中包含一组列和行中的数据。我想对每个数据集中的另一个变量(即另一列)进行一个变量(即一列)的线性模型函数。我的计划是列出每个csv文件,然后在这个列表中进行for循环。

我有(1)将csv文件分配给列表:     hydro_list <- list(CA, CC, CF, CM, P1, P3, P4, P5, P6, P7)

和(2)创建了一个包含此列表的数据框:     theDF <- data.frame(hydro_list)

我的代码目前正在读取:

`for (i in 1:10)
{
  AVG_rising <- lm(dependent_variable~independent_variable, data=theDF)
  print(summary(AVG_rising))
}`

(注意:我派生了1:10,因为我的列表包含10个项目。)

这会打印出AVG的摘要,但它打印出10个相同摘要的项目,而不是csv列表中每个项目的不同摘要/结果。它似乎没有为每个csv文件循环/执行该函数。

我该如何解决这个问题?我错过了什么?此外,我如何通过这种方式进行不同的思考,以便了解我在未来的问题中缺少什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果您在CA,CC等中正确导入了csv,那么您应该使用i来处理您想要使用的hydro_list中的数据。

hydro_list <- list(CA, CC, CF, CM, P1, P3, P4, P5, P6, P7)

for (i in 1:10)
{
   AVG_rising <- lm(dependent_variable~independent_variable, data=hydro_list[[i]]) # note the [[i]]
   print(summary(AVG_rising))
}