如何在数据集上应用函数?

时间:2017-09-26 05:07:07

标签: r function apply

我有以下数据集。当我运行以下函数时,它只产生一行结果。我需要为每棵树找到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)))

1 个答案:

答案 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 ,则使用值而不是索引。