2
의 :논리 연산자에서 I (5 열과 3 행)라고 매트 다음 표가있는 경우 - 다른 R
이AC CA RES
1 0
2 2
1 3
0 0
0 1
수행되는 작업은 I에서는 다음과 같은 사항에 대해 테스트입니다 mat[1]/mat[1]+mat[2]
입니다 : 1) 행의 두 열이 모두 0이면 결과는 NA 여야합니다. 2) 한 열의 열이 0이고 다른 열의 수가 0이 아닌 경우 계산을 계속합니다. 나는 현재 내이 경우 - 다른 구조를 사용하고
(분자가 0 인 경우에도, 괜찮아요)를위한 루프 행 방향으로가는 :
if(mat[b,1]>=0|mat[b,2]>=0){mat[b,3]<-(mat[b,1]/(mat[b,1]+mat[b,2]));}
else{is.na(mat[b,3])=TRUE;}
내가받을 다음과 같은 오류 :
1: In Ops.factor(mat[b, 1], 0) : >= not meaningful for factors
2: In Ops.factor(mat[b, 2], 0) : >= not meaningful for factors
더 부드러운 방법이 있습니까?
숫자는 항상 정수이며 항상 0 이상입니다. apply
을 사용하고 싶습니다만 어떻게 apply
의 결과를 3 번째 열에 직접 할당합니까?
그래도 오류는 아닙니다. 당신은해야 할 것이다 :'mat [] <- lapply (mat, function (x) as.numeric (as.character (x)))' – Arun
두 답을 함께 쓰면 매력처럼 작동합니다. 둘 다 감사합니다 :) – user2211355