簡體   English   中英

如果變量名稱出現在列表中,則進行變異

[英]Mutate if variable name appears in a list

我想使用 dplyr 將變量子集除以 IQR。 我對使用與我之前嘗試過的方法不同的方法持開放態度,即mutate_if%in%的組合。 我想引用列表bin而不是通過 position 索引數據幀。 感謝您的任何想法!

contin <- c("age", "ct")

data %>%
  mutate_if(%in% contin, function(x) x/IQR(x))

你應該使用:

data %>%
  mutate(across(all_of(contin), ~.x/IQR(.x)))

工作示例:

data <- head(iris)
contin <- c("Sepal.Length", "Sepal.Width")

data %>%
      mutate(across(all_of(contin), ~.x/IQR(.x)))
 Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1     15.69231    7.777778          1.4         0.2  setosa
2     15.07692    6.666667          1.4         0.2  setosa
3     14.46154    7.111111          1.3         0.2  setosa
4     14.15385    6.888889          1.5         0.2  setosa
5     15.38462    8.000000          1.4         0.2  setosa
6     16.61538    8.666667          1.7         0.4  setosa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM