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