[英]R how to add another column to a dataset based on 2 other columns
I have a data set of messages exchanged in an organization, I want to create another column based on case_when
the sender_department == receiver_department
, assign "intra"
while if the sender_department != receiver_department
, assign "inter"
.我有一个组织中交换的消息数据集,我想根据
case_when
sender_department == receiver_department
创建另一个列,分配"intra"
而如果sender_department != receiver_department
,则分配"inter"
。
I'm doing this to know the proportion of inter and intra departmental messages over the period.我这样做是为了了解在此期间部门间和部门内消息的比例。
I've use the code below我使用下面的代码
intra_inter_msg <- DF %>%
mutate(inter_intra = case_when(sender_department == receiver_department, ~"intra", ,
sender_department != receiver_department, ~"inter"))
and I got this error我得到了这个错误
Error in
mutate()
:mutate()
错误:
!! Problem while computing
inter_intra = case_when(...)
.计算
inter_intra = case_when(...)
时出现问题。 Caused by error incase_when()
:由
case_when()
中的错误引起:
!! Case 1 (
sender_department == receiver_department
) must be a two-sided formula, not a logical情况 1 (
sender_department == receiver_department
) 必须是双面公式,而不是逻辑
I made a little example DF to test it:我做了一个小例子 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.