2017-06-08 31 views
0

のために、私は次のコードを使用して非類似度行列を作るしようとしています:R:NA/NaNの/ Infの外部関数呼び出しで(引数1)vegdist

BC26bBrayCurtisMatrix<-vegdist(BC2_6b_OTU, method="bray", binary=FALSE, diag=FALSE, upper=FALSE,na.rm = FALSE) 

を、私はこのエラーを取得しています私が試してみました

Error in vegdist(BC2_6b_OTU, method = "bray", binary = FALSE, diag = FALSE, NA/NaN/Inf in foreign function call (arg 1) 

is.na(BC2_6b_OTU) 

を出力は、テーブルの最後の2列を除くすべてFALSEを返します。これらは実際に私のBC2_6b_OTU.csvファイルでは空白ですが、このis.na出力の後に 'TRUE'と言います。これが問題だろうか?もしそうなら、この行を削除するには?

Photo of R output for is.na

他の提案?私はRに新しいですし、私は助けに感謝します!

答えて

0

あなたが特定の列を削除したい場合は、この.CSVは、スプレッドシートプログラムで作成されたということでしょう

x <- x[, c(ncol(x), ncol(x)-1)] 

または

x <- x[ , !sapply(x, FUN = function(n) any(is.na(n)))) 

私の推測を行うことができますか?その場合は、データセットの最後にある「空の」列を削除し、クリーンなセットで作業することを検討してください。

ここでは、NAが問題を引き起こす可能性があることを示しています。

library(vegan) 

data(varespec) 
vare.dist <- vegdist(varespec) 

varespec$sneakycol1 <- NA 
varespec$sneakycol2 <- NA 

sneaky.dist <- vegdist(varespec, method = "bray") 
+0

実際には、これは最後の列を除いてすべてを削除しました。私はコードを使用しました: BC2_6b_OTU_NA < - BC2_6b_OTU [、c(ncol(BC2_6b_OTU)、ncol(BC2_6b_OTU)-1)] –

+0

@LizKimbroughは、col番号の前にマイナスを追加するだけで除外します。 –

関連する問題