繁体   English   中英

R 如何根据其他 2 列将另一列添加到数据集

[英]R how to add another column to a dataset based on 2 other columns

我有一个组织中交换的消息数据集,我想根据case_when sender_department == receiver_department创建另一个列,分配"intra"而如果sender_department != receiver_department ,则分配"inter"

我这样做是为了了解在此期间部门间和部门内消息的比例。

我使用下面的代码

intra_inter_msg <- DF %>%
  mutate(inter_intra = case_when(sender_department == receiver_department, ~"intra",         ,
                                 sender_department != receiver_department, ~"inter"))

我得到了这个错误

mutate()错误:
计算inter_intra = case_when(...)时出现问题。 case_when()中的错误引起:
情况 1 ( sender_department == receiver_department ) 必须是双面公式,而不是逻辑

我做了一个小例子 DF 来测试它:

require(dplyr)
DF = data.frame (sender_department = c("econ","math","history"),receiver_department = c("econ","history","math"))
DF
intra_inter_msg <- DF %>%
  mutate(inter_intra = case_when(sender_department == receiver_department ~"intra",         
                                 sender_department != receiver_department ~"inter"))
intra_inter_msg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM