2014-09-14 2 views
-1

주어진 행 길이에 따라 열 합계를 계산하고 싶습니다. 예를 들어 3 행 [(일, 1 : 181), GDD, 임시])이 있습니다. 예를 들어, 행 길이가 1 : 104 인 경우 GDD 합계를 계산하려고합니다. 또 다른 경우, 행 길이는 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

+1

명확하지 당신이 여기 묻는 것 . df가 당신의 데이터 세트라고 가정 할 때'sum (df [1 : 104, "GDD])'를 계산하려고합니까? –

+0

@ user4039482 David Arenburg의 코드를 사용하여 함수를 생성하고 그에 따라 적용 할 수 있습니다. (데이터, rowind, Col) { sum (data [rowind, Col], na.rm = TRUE) } fun1 (df, 1 : 5, "GDD")' – akrun

답변

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