私はRプログラミング言語が初めてです。データセット内の1 つの列だけにnull 値を代入する方法があるかどうかを知りたかっただけです。私が見た代入コマンドとライブラリはすべて、データセット全体の null 値を代入するためです。
20537 次
3 に答える
14
Hmisc
パッケージを使用した例を次に示します。impute
library(Hmisc)
DF <- data.frame(age = c(10, 20, NA, 40), sex = c('male','female'))
# impute with mean value
DF$imputed_age <- with(DF, impute(age, mean))
# impute with random value
DF$imputed_age2 <- with(DF, impute(age, 'random'))
# impute with the media
with(DF, impute(age, median))
# impute with the minimum
with(DF, impute(age, min))
# impute with the maximum
with(DF, impute(age, max))
# and if you are sufficiently foolish
# impute with number 7
with(DF, impute(age, 7))
# impute with letter 'a'
with(DF, impute(age, 'a'))
?impute
代入の実装方法の詳細については、 を参照してください。
于 2012-10-29T01:30:28.183 に答える
0
これを行うことができるパッケージはたくさんあります。(データに関するもう少し情報があれば、最適なオプションを提案するのに役立ちます)
一例として、 VIMパッケージを使用できます。
kNN (k-nearest-neighbor imputation)と呼ばれる関数があります。この関数には、どの変数を代入するかを指定できるオプション変数があります。
次に例を示します。
library("VIM")
kNN(sleep, variable = c("NonD","Gest"))
この例で使用した睡眠データセットには、VIM が付属しています。
列に時間依存性がある場合は、時系列代入パッケージを使用して代入することも理にかなっています。この場合、たとえばimputeTSパッケージを使用できます。次に例を示します。
library(imputeTS)
na_kalman(tsAirgap)
ここで例として使用される tsAirgap データセットは、imputeTS にも付属しています。
于 2016-11-11T00:35:05.737 に答える