2017-03-22 5 views
0

欠損値を空欄にする必要があるソフトウェアWOMBATで解析するためにデータセットをフォーマットしようとしたときにNA値に問題がありました。私の目標は、NAを空白に置き換えることですが、データのクラスは数値として保持します。ありがとう!NAをブランクに置き換えますが、クラスを数値として保持します。R

以下では、私が何をしたのか、どこに問題があるのか​​を簡単な例で説明しました。

# set testdata 
testdata<- c(NA, 1.1, 2.1, 4.3, NA) 
class(testdata) # numeric 

# replace NA with blank 
testdata[is.na(testdata)]<- "" 

class(testdata) # here, class of testdata was changed to character 

# change character to numeric with as.numeric() 
testdata<- as.numeric(testdata) 

class(testdata) # class was changed back to numeric, however, missing values came back... see below. 

table(is.na(testdata)) # 2 missing values came back 
+3

1つの要素として空白を含む数値ベクトルを表示してください。 – jogo

+3

WOMBATソフトウェア用にテキストファイルとして出力しますか?次に、 'write.table(testdata、file =" myFile.txt "、na =" ")' – zx8754

+0

を試してみてください。私はあなたの意見を持っています。 @jogo – hpU

答えて

1

最初に、Rのベクターには混合クラスを含めることはできません。数値を数値にする場合は、欠損値をNAにする必要があります。欠損値を空の文字列にしたい場合は、他の値は文字でなければなりません。

しかし、データを処理してWOMBATで使用するために出力したいと思われるようです。この場合、出力はプレーンなASCIIテキストファイルです。すべてのことが必要だテキスト形式は、ウォンバットのために正しいことである - あなたはR.

でなくなったのであれば、あなたはウォンバットマニュアルregarding input formatを読む必要はありませんRの列のクラスは関係ありませんし、作成するためにwrite.tableを使用ファイル。オプションについてはwrite.tableをご覧ください。特に、quote = FALSErow.names = FALSEが必要です。

関連する問題