我有以下数据框
df <- data.frame(total=100,a=5,b=5)
我想对每列应用相同的功能。例如,将第一列除以所有列
df <- df/df$total
但是,我想使用mutate_all
我的代码就是这样
df <- data.frame(total=100,a=5,b=5) %>% mutate_all(list(~./total))
没有给我想要的结果。我在做什么错?
答案 0 :(得分:4)
total
是数据框中的第一列,在mutate_all
中它首先被total
除以成为1,然后将其他列除以1。如果{{ 1}}是最后一栏,我认为您的语法可以使用,但是依靠它可能并不安全。最好使用total
并排除mutate_at
来避免这种情况:
total