gpt4 book ai didi

r - 使用 dplyr 截断数字变量的顶部和底部百分位数

转载 作者:行者123 更新时间:2023-12-04 13:32:01 25 4
gpt4 key购买 nike

我已经生成了一个调查权重。因为离群调查权重会导致非常大的差异,我遵循许多统计书籍的提示:我想截断调查权重的前 5% 和后 5%。
我想为此使用 dplyr。

#generate data
data<-as.data.frame(cbind(sequence(2000),rnorm(2000,mean=3.16,sd=1.355686)))
names(data)<-c("id","weight")

#This is how far i got
data2<-data %>% mutate(perc.weight=percent_rank(weight)) %>%
mutate(perc.weight>0.95 | perc.weight<0.05)

在此之后,我有两个新变量。第一个变量给出权重的百分比等级。第二个变量显示值是否超出目标范围。

现在,我想用构成这些百分位数边界的权重值替换 95-100 百分位数内的权重和 0-5 百分位数内的权重。

我将不胜感激!

最佳答案

您可以使用 quantilepmin 一起使用, pmax :

data %>% mutate(weight_trunc = pmin(pmax(weight, quantile(weight, .05)), 
quantile(weight, .95)))

关于r - 使用 dplyr 截断数字变量的顶部和底部百分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com