作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我想计算此列的百分位数:
list_of_col <- total[ -c(2:8,16:21) ]
我知道如何计算一列上的百分位数(B 是其分组所依据的列,例如 B 的索引为 1,A 是 list_of_col 中的列):
total<- total %>%
group_by(B) %>%
mutate(A = rank(A)/length(A))
我正在寻找类似的东西,但我不知道用什么来代替 X
total<- total %>%
group_by(B) %>%
mutate_at(list_of_col, X )
最佳答案
dplyr::mutate_at
已被取代。您仍然可以使用它,但这里有一个更“现代”的变体。
library("tidyverse")
set.seed(1234)
n <- 100
total <- tibble(
B = sample(letters, n, replace = TRUE),
X1 = rnorm(n),
X2 = rnorm(n),
X3 = rnorm(n)
)
total %>%
group_by(B) %>%
mutate(
across(X1:X3, percent_rank)
)
#> # A tibble: 100 × 4
#> # Groups: B [26]
#> B X1 X2 X3
#> <chr> <dbl> <dbl> <dbl>
#> 1 p 0 0.25 0.5
#> 2 z 0.25 0.5 0
#> 3 v 0.5 0.833 0.5
#> 4 e 0.667 1 1
#> 5 l 0 0 1
#> 6 o 0.25 0 1
#> 7 i 0.5 0 1
#> 8 e 1 0.333 0.667
#> 9 f 0.8 0.2 0.6
#> 10 p 0.25 1 0
#> # … with 90 more rows
由reprex package于2022年7月9日创建(v2.0.1)
我使用了dplyr::percent_rank
,而不是你的百分位函数;有了它,百分位数从 0 开始,而不是 1/length(x)。
关于r - 计算每列的百分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72924062/
我是一名优秀的程序员,十分优秀!