将解决方案更改为更有效的解决方案

时间:2021-02-02 03:59:43

标签: r list function

我在 R 中有一个代码 .. 我真的不知道它想做什么,但是执行时间太长,并且在我的计算机中几个小时后它没有执行。有人会为我解释以下代码并将其更改为更有效的代码吗?

 Tempseq<-seq(0,30)
pCO2seq<-seq(0.04,10,by=0.05)

mas<- meshgrid(pCO2seq,Tempseq)
mapCO2<- mas[[1]]
maTemp<- mas[[2]]

resultdf<-CarboSolution(mapCO2[1],maTemp[2])

for(i in 2:length(mapCO2)){
  resultdf<-bind_rows(resultdf,CarboSolution(mapCO2[i],maTemp[i]))
}

2 个答案:

答案 0 :(得分:1)

我不知道函数 meshgridCarboSolution 的作用。我也不知道它们来自哪个包,但是在循环中增长对象的效率非常低。您可以在基础 R 中尝试 Map

resultdf <- do.call(rbind, Map(CarboSolution, mapCO2, maTemp))

或者purrr的{​​{1}}:

map2_df

答案 1 :(得分:0)

我们可以使用 data.table

 library(data.table)
 rbindlist(Map(CarboSolution, mapCO2, maTemp))
相关问题