我在R中的函数中构建循环。如何将结果添加到数据框?

时间:2017-06-28 15:24:01

标签: r function loops

我在R中的函数中有一个循环构建。如何将结果添加到现有数据框中的列? 例如:

QYld<-NULL

for (i in 1:nrow(dat))

{

  ymax<-dat[i,"Ymax"]

  print(ymax)

  settings <- data.frame (waterlimited_yield=ymax,

                          recover_N = 0.5,

                          recover_P = 0.1,

                          recover_K = 0.5,

                          AvgTemp = 18)

  #Function

  tmpyld<-yield_example(olsenP=5.0, exchK=3.0 , pH=5.5, SOC=12.5, kgNha=100,kgPha=30, kgKha=30, settings)

1 个答案:

答案 0 :(得分:0)

假设您的yield_example函数返回单个值,那么您可以执行以下操作。

for (i in 1:nrow(dat)){
  ymax<-dat[i,"Ymax"]
  print(ymax)
  settings <- data.frame (waterlimited_yield=ymax,
                          recover_N = 0.5,
                          recover_P = 0.1,
                          recover_K = 0.5,
                          AvgTemp = 18)
  #Function
  dat[i,"tmpyld"] <- yield_example(olsenP=5.0, exchK=3.0 , pH=5.5, SOC=12.5, kgNha=100,kgPha=30, kgKha=30, settings)
}