【问题标题】:Saving my for loop as data frame or list in R将我的 for 循环保存为 R 中的数据框或列表
【发布时间】:2019-12-29 17:05:16
【问题描述】:

我想将嵌套 for 循环的结果保存在数据框或列表中。 (因为我最后会得到相当多的数据,所以打印出来我发现太多了。

我想创建一个包含 5 列(i、j、fLat、fLon、Rainindex)的空 data.frame 并保存我的 for 循环的所有输出。

这就是我的代码打印出来的样子。


for (i in 1:380){
  for (j in 1:530){
  fLat <- lati[i,j]
  fLon <- long[i,j]
  Rainindex <- sum(pr_array[i,j,1:123])
  print(c(i,j,fLat,fLon, Rainindex))
 }}



[1]   1.0000    1.0000   54.7000   10.4500  153.6514
[1]   1.00000   2.00000  54.71746  10.44813 150.76996
[1]   1.00000   3.00000  54.73491  10.44626 143.46000
[1]   1.00000   4.00000  54.75237  10.44438 137.22394
[1]   1.00000   5.00000  54.76984  10.44250 148.15934
     etc. etc. 

提前致谢!

【问题讨论】:

    标签: r dataframe for-loop


    【解决方案1】:

    您可以创建一个 NULL 对象并使用 rbind 添加每个输出,如下所示:

    New_Df = NULL
    for (i in 1:380){
      for (j in 1:530){
      fLat <- lati[i,j]
      fLon <- long[i,j]
      Rainindex <- sum(pr_array[i,j,1:123])
      vec <- c(i,j,fLat,fLon, Rainindex))
      New_Df <- rbind(New_Df, vec)
     }}
    New_Df <- as.data.frame(New_Df)
    colnames(New_Df) <- c("i","j","fLat","fLon","Rainindex")
    

    【讨论】:

      猜你喜欢
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多