了解spender';占支出总额前90%的
我在R中有一个数据框,有两列-名称和花费金额。我想找出占消费总额前90%的消费者名单 我的数据帧的简短示例(实际上它有数千行)-了解spender';占支出总额前90%的,r,percentile,R,Percentile,我在R中有一个数据框,有两列-名称和花费金额。我想找出占消费总额前90%的消费者名单 我的数据帧的简短示例(实际上它有数千行)- DF一种方法是按降序排列数据并选择行,直到达到90% perc <- 0.9 DF <- DF[order(DF$Total_Spent, decreasing = TRUE),] DF1 <- DF[cumsum(DF$Total_Spent) <= sum(DF$Total_Spent) * perc, ] DF1 # Names T
DF一种方法是按降序排列数据并选择行,直到达到90%
perc <- 0.9
DF <- DF[order(DF$Total_Spent, decreasing = TRUE),]
DF1 <- DF[cumsum(DF$Total_Spent) <= sum(DF$Total_Spent) * perc, ]
DF1
# Names Total_Spent
#1 a 129777.7
#3 c 124906.6
#6 f 121709.6
#8 h 120235.7
#9 i 120053.7
#10 j 119582.8
#11 k 113732.9
perc喜欢这项工作吗
DF <- data.frame(Names = letters[1:13], Total_Spent = c(129777.73,1265.27,124906.61,12493.39,130.68,121709.55,12476.43, 120235.74,120053.71,119582.76,113732.94,112417.77,1000.71))
x<-quantile(DF[,2], 0.9)
DF_90<-which(DF[,2]>=x)
DF[,1][DF_90]
工作得很好。我改变了代码的格式,使之与dplyr相匹配,因为我已经习惯了,但逻辑是相同的。非常感谢!!
DF <- data.frame(Names = letters[1:13], Total_Spent = c(129777.73,1265.27,124906.61,12493.39,130.68,121709.55,12476.43, 120235.74,120053.71,119582.76,113732.94,112417.77,1000.71))
x<-quantile(DF[,2], 0.9)
DF_90<-which(DF[,2]>=x)
DF[,1][DF_90]
[1] a c