2014-02-12 1 views
0

환경 변수 모음과 관련하여 다이어트 성분 데이터 (먹이 계산)에 대해 Canonical Correspondence Analysis를 실행하려고합니다. (envvar). 모든 행 0보다 큰에 모든 열 합계,하지만 난이 오류 메시지가 점점 계속 : 나는 더블, 트리플하여 NAS 또는 빈 열/행에 대한 prey.counts의 dataframe를 확인하고 그들 중 누구도 합이 없습니다비건 채식 cca 오류 : rowsum (X)은> 0이어야합니다 : TRUE/FALSE가 필요한 경우 누락 값

diet <- cca(prey.counts, envvar$SL + envvar$Month + envvar$water.temp + 
      envvar$salinity + envvar$DO) 

Error in if (any(rowSums(X) <= 0)) stop("All row sums must be >0 in the community data matrix") : 
    missing value where TRUE/FALSE needed 

을 0이거나 누락 된 값입니다. R, RStudio 및 모든 패키지가 최신 버전입니다. 어떤 도움을 주시면 감사하겠습니다!

메러디스

+0

귀하의 data.frame에 NAs가 포함되어 있습니까? –

+0

아니요, 원래 NAs가 0으로 바뀌 었습니다 (데이터 프레임에는 검사 된 모든 위장 (행)에 대한 먹이 항목 (열)이 포함되어 있음). 그리고 나는 상자에서 상자를 확인하지 않고 Excel에서 필터링 기능을 사용했습니다. 여전히 비어 있고 행/열 중 아무 것도 0으로 합계되지 않습니다. – user3303937

답변

0

당신이 함수를 호출하는 방법에 문제가있다, 당신은 기본 및 공식 인터페이스를 혼합 (그리고 당신이 그것에있는 동안 공식 표기법을 남용) 할 것으로 보인다. 명명 된 변수는 유일한 사람이 envvar에있는 경우, 당신은에

diet <- cca(prey.counts ~ ., data = envvar) 

또는

diet <- cca(prey.counts, envvar) 

중 하나를 할 수있는, 또는

diet <- cca(prey.counts ~ SL + Month + water.temp + salinity + DO, data = envvar) 

:

이 도움을합니까 후자는 덜 유연하지만 단순한 default 방법을 사용하여 cca().

+0

사용하지 않은 변수를 envvar에서 제거하고 각 제안을 시도한 결과 이전과 같은 오류 메시지가 나타납니다. – user3303937

+0

OK, ** 채식주의 **가 최신인지 확인하십시오. 'update.packages()'를 실행하고 R이 패키지의 최신 버전으로 업데이트되도록합니다. 또한'rowSums (prey.counts)'를 수행하고 실제로 누락 된 값이 없는지 확인하십시오. 그 외에도 * this *는 작동하며 항상 모든 것을 사용하므로 문제를 일으키는 데이터에 대해 뭔가가 있어야하며이를 보지 않고도 진단하기가 어렵습니다. 질문에'str (prey.counts)'의 출력을 편집 할 수 있고 현재 사용중인'cca()'에 대한 호출을 보여줄 수 있습니까? 당신이 뭔가를했다는 말은 정확하게 사용 된 코드를 붙여 넣는 것과 같지 않습니다. –

+0

rowSums (prey.counts) 출력은 NA로 저장된 약 8 개의 완전히 빈 행을 보였습니다. prey.counts를 다시 열고 엑셀을 재 저장했는데 이제는 CCA가 잘 작동합니다! 도와 주셔서 정말 감사합니다! – user3303937

관련 문제