首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将特定数字分类为二进制数

将特定数字分类为二进制数
EN

Stack Overflow用户
提问于 2020-04-30 07:53:26
回答 1查看 31关注 0票数 0

有一个数据集,其中有许多变量被赋予了等级。职等:

  • 0 =缺失,
  • 1 =F213
  • 2 = Fail,
  • 3 = Pass,
  • 4 = Pass,H 210H 1115=Pass<H 212F 213

我想将其转换为二进制数据,其中1-2 =0和3-4 =1。我只找到了一个数字或一系列数字被转换的代码。不是具体的数字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-30 07:58:28

你可以:

代码语言:javascript
复制
df$new_col <- as.integer(df$column_name %in% 3:4)

它类似于这样做:

代码语言:javascript
复制
df$new_col <- ifelse(df$column_name %in% 3:4, 1, 0)

注意,对于上面的3,4被更改为1,rest所有的东西都被转换为0。

如果需要以不同的方式对待变量,可以使用case_when并指定条件

代码语言:javascript
复制
library(dplyr)
df %>%
  mutate(cnew_col = case_when(column_name == 0 ~ NA_integer_, 
                              column_name %in% 3:4 ~ 1L, 
                              column_name %in% 1:2 ~0L, 
                              TRUE ~column_name))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61518463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档