以下の関数が機能します。欠損値をデフォルト値に変換します欠損値(Char)をデフォルト値に変換する関数
convertNAsToDefault <- function(df, column, default) {
df[[column]] <- as.character(df[[column]])
df[is.na(df[[column]]), column] <- default
df[[column]] <- as.factor(df[[column]])
return (df)
}
これは使用方法です。
owners <- c('Becky', 'Alex', 'Jessica', 'Norm')
pets <- c('cat', 'dog', NA, 'dog')
d <- data.frame(owners, pets)
glimpse(d)
# Before: Jessica <NA>
convertNAsToDefault(d, 'pets', 'unknown')
# After: Jessica unknown
私は、関数convertNAsToDefaultを(書かれたのは方法がある場合は、よりエレガントに)疑問に思ったり、これを行うために、既存のパッケージを使用しています。
これははるかに簡単です。ありがとう、MarkusN – BGA