在dplyr mutate函数中的ifelse语句中使用列名

时间:2015-08-12 15:27:38

标签: r dplyr

我正在尝试根据另一列中的值向我的数据框添加一个额外的列。我想要一个名为Centre_label的新列,如果Centre_count大于1,则其值为“multiple”;如果Centre_count等于1,则需要与Center列相同的值。

我的数据目前看起来像这样:

        Partner    Centre Centre_count
1       A       Stockholm            1
2       B       Stockholm            1
3       C       Stockholm            4
4       D       Stockholm            1
5       E       Oxford               1
8       F       Oxford               2

我尝试在dplyr mutate中使用条件语句:

test <- scat_data %>% ungroup() %>% mutate( Centre_label = ifelse(Centre_count==1, Centre, "Multiple")) 

这似乎有效,但将中心的值替换为因子的级别:

        Partner    Centre Centre_count Centre_label
1       A       Stockholm            1            3
2       B       Stockholm            1            3
3       C       Stockholm            4   "Multiple"
4       D       Stockholm            1            3
5       E       Oxford               1            5
8       F       Oxford               2   "Multiple"

我真的不明白为什么会这样。有没有办法可以显示因子标签?

由于

0 个答案:

没有答案