2016-07-13 7 views
0

ここでは、Dummy variables from a string variableの指示に従って、文字列(空白で区切られた単語)をダミー変数(単語が存在することを示す0-1)に変換しようとしています。 NOTUSED/concat.split.expanded使用して)その行の文字列で使用されるが、以下のエラーの束を取得:splitstackshape pkg - concat.split.expanded強制変換でNAを返します

In lapply(listOfValues, as.integer) : NAs introduced by coercion 

Error in seq.default(min(vec), max(vec)) : 'from' cannot be NA, NaN or infinite 

の一つが先行し、私はそこに上がらないかなり確信しています変換される列の中の任意のNAは、それだけではありません。これを修正する方法についてはわかりません。ありがとう!私が実行してきた

コマンドは、問題生成:

concat.split.expanded(dataset, "stringvarname", sep = " ", mode = "binary", drop = false) 

はとか、塗りなしの問題を作成する=

はあなたが(「VAR2」を連結した文字列を分割するように指定する必要があり

答えて

1

以下のサンプルデータ)、文字列として連結された数値(以下のサンプルデータでは "var3")は含まれません。

df = data.frame(var1 = 1:2, var2 = c("a b c", "a c d"), var3 = c("1 2 3", "1 2 5")) 
library(splitstackshape) 

cSplit_e(df, "var3", sep = " ") 
# var1 var2 var3 var3_1 var3_2 var3_3 var3_4 var3_5 
# 1 1 a b c 1 2 3  1  1  1  NA  NA 
# 2 2 a c d 1 2 5  1  1  NA  NA  1 

## Will give you an error 
cSplit_e(df, "var2", sep = " ") 
# Error in seq.default(min(vec), max(vec)) : 
# 'from' cannot be NA, NaN or infinite In addition: Warning messages: 
# 1: In lapply(listOfValues, as.integer) : NAs introduced by coercion 
# 2: In lapply(listOfValues, as.integer) : NAs introduced by coercion 

cSplit_e(df, "var2", sep = " ", type = "character") 
# var1 var2 var3 var2_a var2_b var2_c var2_d 
# 1 1 a b c 1 2 3  1  1  1  NA 
# 2 2 a c d 1 2 5  1  NA  1  1 

理由:

ここにあなたのエラーを再現し、作業溶液を示した例ですか? cSplit_eseqを使用し、seqは数値入力用です。

> seq("a", "c") 
Error in seq.default("a", "c") : 'from' cannot be NA, NaN or infinite 
関連する問題