我有一个非常令人困惑的问题,我想得到帮助。
我有以下数据表:
| 类型|价值|
| - ------|- ------|
| 猫|1个|
| 制动爪|无|
| 猫|1个|
| 猫|1个|
| 猫|1个|
| 制动爪|无|
列类型中只有两个唯一值。我想在搜索值0的地方变异一个新列,但随后打印cat,这是type列中唯一的另一个唯一值,而不是dog。因此,
| 类型|价值|突变的|
| - ------|- ------|- ------|
| 猫|1个|- -|
| 制动爪|无|猫|
| 猫|1个|- -|
| 猫|1个|- -|
| 猫|1个|- -|
| 制动爪|无|猫|
我不知道从哪里开始。我试过ifelse
语句,但它们无法打印该行值的相反值。有帮助吗?
下面是我尝试过的一个函数:
data %>% mutate(mutated = ifelse(value == 0, !(type), type))
然而,这只是给了我一个错误。
2条答案
按热度按时间efzxgjgh1#
可以使用
setdiff
,它将取所有type
(长度为2,只有"cat"和"dog")的向量与给定行的type
之间的差,根据需要,还有其他方法可以实现这一点。gab6jxml2#
您可以使用以下代码:
输出:
您的数据