이것은 정말 간단한 질문이지만 누군가가 불필요한 코드를 추가로 피할 수 있기를 바랍니다. 나는 간단한 dataframe 있습니다열을 곱할 때 NAs 제거하기
Df.1 <- data.frame(A = c(5,4,7,6,8,4),B = (c(1,5,2,4,9,1)),C=(c(2,3,NA,5,NA,9)))
내가 그때 원래 dataframe에 cbind 것이다 A, B 및 C의 곱이다 여분의 열을 생산한다 싶지.
그래서, 일반적으로 사용하는 것입니다 :
attach(Df.1)
D<-A*B*C
그러나 분명히 NAS는 열 C에있는 곳, 내가 NA 변수 D에 내가 모든 NA 행을 오히려 단지 제외하지 않을 수 이 열의 NA 값을 무시하십시오. (그러면 D의 값은 단순히 A와 B의 곱셈이나 C가 사용 가능한 A * B * C 일 것입니다.)
간단히 말해서 NA를 1로 바꿀 수 있다는 것을 알고 있습니다. 따라서 계산은 변경되지 않고 if 문을 사용합니다. 그러나이 작업을 수행하는 단순한 방법이 무엇인지 모른다고 했습니까?
아이디어가 있으십니까?
방법 'D <약 -'를 사용 if' 주위 부적절한 방법 A * B 형 * (! is.na C * (C) + 1 * is.na (C))'. –
그건 좋겠지 만, @CarlWitthoft 그 코드가 작동하지 않을까 걱정됩니다. –
내 사과 - 지금은 테스트/디버그 할 수 없습니다. 어떤 오류 (또는 나쁜 결과)가 발생했는지 말해 줄 수 있습니까? –