我知道有很多这样的查询,但我尝试了不同的方法,但我无法解决我的问题:
所以我有一个带有投票百分比的数据集,但它们对不同的公投的定义不同,我想创建一个新列,如果满足条件,则它是变量值之间的差异,或者如果条件满足,则只保留该变量的值没见过。基本上,对于某些公投来说,它会保持它所拥有的百分比值,而其他人则要计算 100 和它现在所拥有的价值之间的差异。像这样的东西:
id <- c(1, 2, 3)
yes.perc <- c(66.7, 50, 49)
ref.code <- c(6040,6041,6042)
df <- as.data.frame(c(id, percentage, ref)
我试过这个,例如:
df%>%
mutate(vote=ifelse(ref.code == 6040|6041, (100-yes.perc), print(yes.perc)))
和:
df%>%
mutate(vote=ifelse(ref.code == 6040|6041, 100-yes.perc, yes.perc))
还有很多类似的事情,但我不断为所有行打印差异(100-yes.perc),无论它们是否满足条件。我还尝试将“ref.code”变量更改为因子或数字,但没有太大区别。谢谢!