[英]mutate_if for numeric colums divided by rowsums
我只是在尋找一個優雅的 1 班輪,它將每個數字列除以這些數字列的行和。 我想使用 mutate_if 只是不知道語法應該如何
data<-data.frame(date=seq(from=as.Date('2020-01-01'),to=as.Date('2020-01-05'),by="days"),
a=sample(1:10,5),
b=sample(1:10,5),
c=sample(1:10,5))
我們可以使用base R
i1 <- sapply(data, is.numeric)
data[i1] <- data[i1]/rowSums(data[i1])
或使用dplyr
library(dplyr)
data %>%
mutate(tmp = select(., where(is.numeric)) %>%
rowSums, across(where(is.numeric), ~ ./tmp), tmp = NULL)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.