r - 在 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 中重新编码这些变量?
解决方案
另一种方法可能是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)
推荐阅读
- php - 我需要帮助将数组转换为字符串以在 sql 语句中使用它
- python - TypeError:列表索引必须是整数或切片,而不是元组,即使索引看起来是整数
- swift - 如何在代码中区分带有 Home 栏的新 iPadPro 和带有 Home 键的旧 iPad Pro?
- c# - 我在此方法中的 DataTables 生成的 csv 文件是它们包含的行数的两倍,为什么?
- kops - 如何从 yaml 文件更新 Kops 配置?
- angular - Angular 的 setter 和 getter
- python - 如何让我的 Python 程序对 int 使用 4 个字节而不是 24 个字节?
- java - 我可以在枚举中使用接口作为变量吗?
- javascript - 处理 JSON 格式响应的问题
- c++ - C++14 类函数错误:“对象没有属性‘值’”