我想根据给定的行长度计算列总和。例如,我有3行[(day,1:181),GDD,Temp])。我试图计算GDD总和,如果行长度是1:104,例如。在另一种情况下,行长度为1:82。
示例:
Day GDD Temp
1 19.77 20.31
2 18.4 19.12
3 16.91 17.7
4 16.46 17.24
5 16.88 17.57
6 18.58 19.25
7 17.31 17.89
8 16.56 17.19
9 15.5 16.15
10 15.78 16.58
. . .
. . .
. . .
. . .
有人可以帮我计算列数。我需要做1000个不同的行长度。 提前致谢, RV
答案 0 :(得分:0)
如果您想尝试multiple
行长
fun1 <- function(data, rowind, Col){
sum(data[rowind, Col], na.rm=TRUE) #@David Arenburg's suggestion
}
set.seed(42)
dat1 <- data.frame(Day=1:1000, GDD=rnorm(1000,20,5), Temp= rnorm(1000,22,8))
创建具有不同行长度的列表,例如:
lst1 <- list(1:10, 1:50, 5:25, 3:80)
sapply(lst1, function(x) fun1(dat1, x, "GDD"))
#[1] 227.3648 991.0821 434.4308 1564.0305