【发布时间】:2018-09-16 21:36:03
【问题描述】:
我正在尝试使用cut 函数将连续变量转换为 R 中分类变量的二进制列。代码是
xyz=rnorm(20,3,1)
xcut=cut(xyz,breaks=c(2,3))
这会将xyz 转换为分类变量,但我想要三个二进制列,其中列名为“3”,如果xyz[1] 为 1.5,那么第一行的值是 1、0 和 0,对于xyz 的所有 20 个值,我都需要它。我不想使用 for 和 if 循环来创建这个 20x3 矩阵,我已经可以用 xyz 以数字方式完成它。我想知道是否有更短的方法可以做到这一点?
【问题讨论】:
-
我倾向于在这里使用
model.matrix:model.matrix(~0 + xcut)
标签: r binary cut categorical-data