我有以下数据集。当我运行以下函数时,它只产生一行结果。我需要为每棵树找到Gomp。
Tree a b k
4382 21,88 9,59 0,0538
4383 13,93 12,94 0,0811
4384 19,69 9,78 0,0597
4385 20,02 8,23 0,0489
4386 11,07 23,2 0,1276
4387 18,35 13,29 0,0772
4388 19,72 17,53 0,0961
4389 26,3 5,26 0,0278
DOY = c(1:365)
Gomp <- data.frame(DF$a * exp (-exp(DF$b-DF$k*DOY)))
答案 0 :(得分:1)
我至少不太确定我是否理解正确。也许一个更好的问题可以改善答案......
NULL
使用sapply(apply,vapply等),您可以遍历矢量,列表,数据帧等。如果没有DF <- data.frame(Tree = c(4382, 4383, 4384, 5385, 4386), a = c(21.88, 13.93, 19.69, 20.02, 11.07), b = c(9.59, 12.95, 9.78, 8.23, 23.20), k = c(0.0538, 0.0811, 0.0597, 0.0489, 0.1276))
DOY <- c(1:365)
DF_new <- data.frame(sapply(1:length(DF$Tree), function(x)(DF$a[x]*exp(-exp(DF$b[x]-DF$k[x]*DOY)))))
colnames(DF_new) <- DF$Tree
,则使用值而不是索引。