R如何在其他2列的基础上向数据集添加另一列



我有一个组织中交换消息的数据集,我想基于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

最新更新