首页 > 解决方案 > 在 R 中重新编码分类变量

问题描述

Let var1 = c(1,0,1,0,0,1)
    var2 = c(0,0,1,1,1,0)
    var3 = c(0,1,1,0,0,1)
    var4 = c(1,1,0,1,0,0)

如果 var1 = 0 则 var2、var3 和 var4 也必须为 0。如何在 R 中重新编码这些变量?

标签: rstatistics

解决方案


另一种方法可能是var1与其余变量相乘。所以所有乘以 0 的值都会自动变为 0。

df[-1] <- df$var1 * df[-1]

df
#  var1 var2 var3 var4
#1    1    0    0    1
#2    0    0    0    0
#3    1    1    1    0
#4    0    0    0    0
#5    0    0    0    0
#6    1    0    1    0

数据

var1 = c(1,0,1,0,0,1)
var2 = c(0,0,1,1,1,0)
var3 = c(0,1,1,0,0,1)
var4 = c(1,1,0,1,0,0)
df <- data.frame(var1, var2, var3, var4)

推荐阅读