r - 使用 purrr 基于多个现有变量创建新的指标变量
问题描述
我正在尝试在 tidyverse 中学习 purrr 并且做得很短。我有一个如下所示的数据集:
DX1 DX2 DX3 DX4 DX5 DX6 ... DX26
2 2 2 2 4 7 ... 3
4
7 3 3 6 4
3 4
6
其中 DX 是各种 ICD9/10 代码,总共有 26 个可能的选项。如果不需要超过给定数量的诊断,则剩余的 DX 变量留空。
我需要遍历所有 26 个 DX 变量并创建一个新变量,如果有任何响应为 4,则值为 1,如果没有响应 4,则值为 0。换句话说,它应该如下所示:
DX1 DX2 DX3 DX4 DX5 DX6 ... DX26 NewVar
2 2 2 2 4 7 ... 3 1
4 1
7 3 3 6 4 1
3 4 1
6 0
有没有一种简单的方法可以让 purrr 做到这一点?提前感谢您的任何建议!
解决方案
您可以尝试下面的代码rowSums()
(假设没有数字的地方用 填充NA
)
df$NewVar <- rowSums(df==4,na.rm = T)
推荐阅读
- c# - 查找元素返回空字符串..使用 XPath contains,Text()
- sql - 可序列化隔离级别发生更新丢失?
- knockout.js - 将 observableArray 的特定索引绑定到输入控件
- scala - 如何在Scala中延迟类值的分配?
- css - Unicode 表情符号字符根据浏览器使用不同的图像/字体
- amazon-web-services - AWS Elastic Beanstalk - 环境必须具有与之关联的实例配置文件
- android - Xamarin Android Lottie 启动画面
- c# - 使用 foreach 循环的 C# 列表或集合初始化程序
- ms-access - Like 运算符范围查询
- android - 您如何处理纯 TypeScript React Native 组件中的辅助功能手势?