2016-09-18 4 views
2

각 루프에 대해 함수가 데이터 집합의 행에서 새로운 입력 매개 변수를 가져 와서 각 루프에 대해 별도의 결과를 제공하도록 함수를 적용하고 싶습니다.데이터 프레임의 각 행에서 반복 함수

내가이 같은 데이터 세트가 있다고 가정하자 :

df<-data.frame(A = 7:11, B = 1:5, C = 4:8, D = 10:14) 

기능 : 함수가 별도로 각 행에 대해 합계를 계산 있도록

loop<-function(a,b,c,d){ 
sm <- sum(a,b,c,d) 
return(sm) 
} 

나는 다음과 같은 과정을 automize 싶습니다 전체 데이터 세트 :

loop (df[1,1],df[1,2],df[1,3],df[1,4]) 
loop (df[2,1],df[3,2],df[3,3],df[3,4]) 
loop (df[3,1],df[3,2],df[3,3],df[3,4]) 
loop (df[4,1],df[4,2],df[4,3],df[4,4]) 
loop (df[5,1],df[5,2],df[5,3],df[5,4]) 

apply func 그러나 나는 제대로 할 수 없다. 누군가 내게 해결책을 권할 수 있습니까? 고맙습니다.

+0

을 시도하거나 다른 옵션이 감소'이다 ("+", DF)' – akrun

+0

당신이 원하는 경우 원본 df :''df %> % mutate (ROWSUM = rowSums (.))''를 그대로 유지하십시오. –

답변

4

는 사용 rowSums

rowSums(df) 
#[1] 22 26 30 34 38 

여전히 loop 기능을 사용하려면이

mapply(loop,df[,1],df[,2],df[,3],df[,4]) 
#[1] 22 26 30 34 38 
관련 문제