我想要应用一个函数,该函数依赖于我的数据框中多对2列的数据.例如,使用tidyVerse My df如下所示:
test_df <- tibble(w = c("yes", "no"), x = c(1, 2), y = c("no", "yes"), z = c(4, 5))
我想应用以下功能:
function(a, b) = ifelse(a == "yes", b * 5, b)
但我想把它应用到w,x和y,z列.
我试过:
test_df %>% mutate_at(.vars = vars(c(w, y), c(x, z)), function(a,b) ifelse(a == "yes", b * 5, b))
但得到的错误是"b"是未定义的.我希望不要使用循环,因为我的数据集非常大,而且我有很多列对要迭代.
我也try 了Pivot_Long,但在我的df中还有很多其他列,所以Pivot_Long很快就变得杂乱无章.
如有任何帮助,我们将不胜感激!