2014-01-23 2 views
1

평균 두 개의 다른 열이 포함 된 새 열을 만들고 싶습니다. 원래 테이블로 예 (DAT)에 대한
은 다음과 같습니다평균 계산시 NaN 처리

A B 
1 1 NaN 
2 3 2 
3 2 5 
4 4 4 
5 6 NaN 
6 5 3 

내가 지금 평균 A와는 B, 그래서 나는 다음과 같은

dat$C<-(dat$A + $dat$B)/2 

하지만 내가 할 것은 시도 열 C를 원하는 이

A B  C 
1 1 NaN NaN 
2 3 2  2.5 
3 2 5  3.5 
4 4 4  4 
5 6 NaN NaN 
6 5 3  4 

언제 내가 원하는 것은이

A B  C 
1 1 NaN 1 
2 3 2  2.5 
3 2 5  3.5 
4 4 4  4 
5 6 NaN 6 
6 5 3  4 
입니다

데이터 세트의 누락 된 값을 처리하는 동안이 새로운 평균값 열을 계산하려면 어떻게해야합니까?

+3

'df $ C <- rowMeans (df, na.rm = TRUE)''df'는'data.frame'입니다. – dickoa

+0

@dickoa 도움을 주셔서 감사합니다. 불행히도 내 실제 데이터 세트에는 다른 식별자 열이있어서 평균값으로 작업하지 않으므로 작동하지 않습니다. – melanopygus

+2

data.frame 하위 집합을 rowMeans에 전달하면됩니다. dat $ C <- rowMeans (dat [, c ('A', 'B')], na.rm = TRUE)' – digEmAll

답변

1

또한

dat$C <- apply(dat,1,function(x) mean(na.omit(x))) 

na.omit 당신이 na.rm 특정 기능에 대한 인수 동안 na.omit이 기본 R에서이기 때문에 더 복잡한 기능을 만들고 싶어 알고 있으면 유용 할 수 있습니다.