用R重新编码变量

在R中重新编码变量,似乎是我最大的头痛。您使用什么功能,包,流程来确保最佳效果?

我在互联网上发现了非常少的有用的例子,给出一个适合所有解决方案的重新编码,我有兴趣看看你们和gals正在使用什么。

注意:这可能是社区维基话题。

重新编码可能意味着很多事情,并且基本上是复杂的。

可以使用级别功能来更改因子的级别:

> #change the levels of a factor
> levels(veteran$celltype) <- c("s","sc","a","l")

变换一个连续变量只涉及向量化函数的应用:

mtcars$mpg.log <- log(mtcars$mpg)

对于连续数据,可以查看cut和cut2(在hmisc包中)。例如:

> #make 4 groups with equal sample sizes
> mtcars[['mpg.tr']] <- cut2(mtcars[['mpg']], g=4)
> #make 4 groups with equal bin width
> mtcars[['mpg.tr2']] <- cut(mtcars[['mpg']],4, include.lowest=TRUE)

为了将连续或因子变量重新编码为分类变量,在汽车包中重新编码,并在Deducer包中重新编码变量

> mtcars[c("mpg.tr2")] <- recode.variables(mtcars[c("mpg")] , "Lo:14 -> 'low';14:24 -> 'mid';else -> 'high';")

如果您正在寻找一个GUI,Deducer会使用“转换和重新编码”对话框实现重新编码:

http://www.deducer.org/pmwiki/pmwiki.php?n=Main.TransformVariables

http://www.deducer.org/pmwiki/pmwiki.php?n=Main.RecodeVariables

http://stackoverflow.com/questions/5372896/recoding-variables-with-r

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:用R重新编码变量