我正在尝试在大型分类数据集上运行k模式。
每个变量都有几个NA,但我想保留这些信息,因为对我来说这是有意义的。
K模式不适用于具有NA的数据集,因此,我正在寻找一种快速方法,将所有变量中的所有NA视为因子级别。
我已经阅读了很多问题,但答案完全适用于名字式的方式。
使用R?
的任何建议mydf <- data.frame(a = factor(c("a", NA, NA)), b = factor(c("b", NA, NA)), c = factor(c("yo", NA, NA)))
答案 0 :(得分:3)
试试这个:
mydf <- data.frame(a = factor(c("a", NA, NA)), b = factor(c("b", NA, NA)), c = factor(c("yo", NA, NA)))
从因素到角色
mydf <- data.frame(lapply(mydf, as.character), stringsAsFactors=FALSE)
换人
mydf[is.na(mydf)]<-"Something"
回到因素
mydf <- data.frame(lapply(mydf, as.character), stringsAsFactors=TRUE)
您的新因素
factor(mydf$a)
[1] a Something Something
Levels: a Something