将分类变量重新编码为二进制 (0/1)

标签 r recode

有人可以帮助我了解 ifelse 的使用吗。

我有一个 data.frame (dat),其中包含一个名为 Q1 (dat$Q1) 的分类变量/因子。 dat$Q1 被编码为 1、2、3 或 4。我需要根据以下规则创建一个新列 data$new1:

如果 dat$Q1 == 3 那么 dat$new1 应该是 1。否则,dat$new1 应该是 0

请问最有效的方法是什么?

最佳答案

使用 ifelse 如下:

dat$new1 <- ifelse(dat$Q1==3, 1, 0)

关于将分类变量重新编码为二进制 (0/1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027521/

相关文章:

r - 为什么使用 NGramTokenizer 时 R 会挂起?

r - 根据直接和间接关系对个人进行分组

r - 如何将一系列值(数字)重新编码为因子变量?

在 R 中使用 tidyverse 重新编码多个变量

javascript - javascript 中的 str(R 语言)相当于什么,用于获取对象的结构?

r - 如何有条件地更改 R Shiny 包中图表的纵横比?

r - 使用具有层次聚类的距离矩阵查找聚类数

r - 在 R 中使用 case_when 调试创建的函数

使用 dplyr 重新编码多列

r - 使用派对包 "contrasts cannot be applied ...."和 "object of type closure...."时出现奇怪错误