這個問題在這里已經有了答案: 在 dplyr 的函式中使用變數名 9 個答案 12 小時前關閉。
我想在分位數函式中使用動態變數時遇到問題。
我嘗試使用paste0作為列名,我想使用:
m = "01"
quantile_s = data %>%
group_by(col1, col2) %>%
summarise(quant1 = quantile(data[[paste0("col3_", m)]], prob=0.75, type=2, na.rm = TRUE)
但在結果中,它不是正確答案,而是在每次觀察中回傳相同的值......
有人能幫我嗎?
uj5u.com熱心網友回復:
這個怎么樣,它將粘貼陳述句包裝在!!sym()
data(mtcars)
library(rlang)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
mtcars %>% group_by(cyl) %>%
summarise(quant1 = quantile(!!sym(paste0("h", "p")), prob=.75, type=2, na.rm=TRUE))
#> # A tibble: 3 × 2
#> cyl quant1
#> <dbl> <dbl>
#> 1 4 97
#> 2 6 123
#> 3 8 245
由reprex 包于 2022-02-17 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/426679.html
上一篇:每列R中特定值的次數
下一篇:計算滾動30天視窗內的觀察值
