[英]Apply a same function to each column with tidyverse and mutate_all
我有以下數據框
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))
這沒有給我想要的輸出。 我究竟做錯了什么?
total
是數據mutate_all
的第一列,在mutate_all
它首先除以total
,變為 1。然后其他列僅除以 1。如果total
是最后一列,我認為您的語法會起作用,但可能不會可以放心地依賴它。 最好使用mutate_at
並排除total
以避免這種情況:
data.frame(a=5,b=5,total=100) %>%
mutate_at(vars(-total), list(~./total))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.