r - R - 比较两个字符串变量并根据比较得出第三个变量
问题描述
假设您有一个如下所示的数据框:
Var1 Var2
A A
B B
A B
B A
我正在尝试创建一个变量Var3
,1
如果它们相等,Var1
如果它们不相等。因此,数据框应如下所示:Var2
0
Var1 Var2 Var3
A A 1
B B 1
A B 0
B A 0
我正在使用以下代码:
data %<>%
mutate_if(vars(Var1) == vars(Var2), Var3 = 1) %>%
mutate_if(vars(Var1) != vars(Var2), Var3 = 0)
但是,我收到以下错误:
Error in vars(Var1) == vars(Var2) :
comparison of these types is not implemented
那我该怎么办?
解决方案
使用 dplyr 我会使用 case_when,当您有多个条件时它会很有帮助。
df <- data.frame(Var1 = c("A","B","A","B"),
Var2 = c("A","B","B","A"))
df %>%
mutate(Var3 = case_when(Var1 == Var2 ~ 1,
Var1 != Var2 ~ 0))
推荐阅读
- python-3.x - 从用户输入解析多行
- javascript - 刷新后如何保持选择菜单项
- git - 如何从 git 存储库克隆、获取或稀疏检出单个目录或目录列表?
- oauth2-playground - Oauth2,出现禁止错误(youtube 分析)
- php - Codeigniter 3 php 7.3 mssql 数据库 (sqlsrv) 错误
- python-3.x - 如何从 DynamoDB 中获得干净的结果?
- php - Woocommerce Checkout 页面显示双订单摘要?
- java - Hibernate/Postgres:重复键值违反唯一约束
- google-apps-script - 检查最高位并从网格单元格复制文本
- powershell - 同一脚本在 2 台不同机器上的不同行为