0
- データ:DAT
- 変数:V1
私はこれを試してみましたが、それは置き換えられませんでした "< NA>"(スペースなし)スペースなしで再び<NA>をRの単一因子変数の番号に置き換える方法は?
cwm$v1 <- factor(cwm$v2) replace(cwm$v1, cwm$v1=="<NA>", 9)
。それは「< NA>」
私はこれを試してみましたが、それは置き換えられませんでした "< NA>"(スペースなし)スペースなしで再び<NA>をRの単一因子変数の番号に置き換える方法は?
cwm$v1 <- factor(cwm$v2)
replace(cwm$v1, cwm$v1=="<NA>", 9)
。それは「< NA>」
シンボルでまだ変数を私に戻っています<NA>
で欠落している要因の値:
> factor(c("a",NA,"b"))
[1] a <NA> b
Levels: a b
したがって、あなたは、単にすべての欠損値のためのようなis.na
を使用することができますが、あなたの可能性これを参照してください:
> v1 <- factor(c("a", NA,"b"))
> v1[is.na(v1)] <- 9
> v1
[1] a <NA> b
Levels: a b
Warning message:
In `[<-.factor`(`*tmp*`, is.na(v1), value = 9) :
invalid factor level, NA generated
理由は簡単です:9はその要素のレベルではありません。したがって、これを行うには、因子に変換する前にこの置換えを行う必要があります:
> v2 <- c("a",NA,"b")
> v2[is.na(v2)] <- 9
> v1 <- factor(v2)
> v1
[1] a 9 b
Levels: 9 a b
ここでは別のレベルとして9があります。これを望まない場合は、最初に因子を使うべきではありません。だから、最初のcharacter
に変換、あなたが要因から始める場合:
> v1 <- factor(c("a", NA,"b"))
> v1 <- as.character(v1)
> v1[is.na(v1)] <- 9
> v1
[1] "a" "9" "b"
'CWM $ V1 [is.na(CWM $ V1)] < - 9'。 '?is.na'を参照してください。 –
condititionのために 'is.na(cwm $ v1)'を試してみませんか? – Aramis7d
問題はそれがで、NAでないようです - is.na関数はの値を変更していません。 –