2014-02-12 59 views
0

我想運行規範對飲食組成數據(prey.counts)對應一套環境變量(ENVVAR)。每一行和每一列總和大於0,但我不斷收到此錯誤信息:素食主義者包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 

我已經雙重和三重檢查NAS或空列/行prey.counts數據幀,沒有他們的總和爲零或缺少值。 R,RStudio和所有軟件包都是最新的。任何幫助,將不勝感激!

梅雷迪思

+0

您的data.frame是否包含任何NA? –

+0

不,原來有很多的NAs我換成了零(數據幀包括每個胃檢查(行)的獵物項數(列)),並且我在excel中使用了過濾功能來確保沒有任何的盒子仍然是空的,並且沒有任何行/列總和爲零 – user3303937

回答

0

的問題是你如何調用該函數,你似乎是混合的默認和配方接口(和,而你在它濫用公式符號)。

這是否幫助:

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

另外,如果命名變量是唯一在envvar,你可以做任何的

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

diet <- cca(prey.counts, envvar) 

與後者使用靈活性較低但簡單的default方法用於cca()

+0

我從envvar中刪除了未使用的變量,並嘗試了您的每個建議並獲得了與以前相同的錯誤消息。 – user3303937

+0

好吧,確保**純素**是最新的;執行'update.packages()'並讓R更新到軟件包的最新版本。還要執行'rowSums(prey.counts)'並檢查確實沒有任何缺失的值。除此之外,*這個*確實有效,並且我們一直都在使用它,所以必須有一些關於您的數據的問題,導致這個問題,而沒有看到它,這將很難診斷。你可以編輯你的問題來自'str(prey.counts)'的輸出,並且顯示你正在使用的'cca()'的調用。告訴我你做了什麼和粘貼*完全不同*使用的代碼 –

+0

rowSums(prey.counts)輸出顯示底部約8個完全空行,並保存爲NAs。我在excel中重新打開prey.counts並重新保存它,現在CCA正常運行!非常感謝你的幫助! – user3303937

相關問題