gpt4 book ai didi

r - 分位数输出到数据框

转载 作者:行者123 更新时间:2023-12-04 10:54:15 25 4
gpt4 key购买 nike

这是一个相当基本的问题,但在各种论坛上都没有看到好的答案。
假设我有一个简单的向量

x = runif(10,1,4)
> x
[1] 3.292108 1.388526 2.774949 3.005725 3.904919 1.322561 2.660862 1.400743
[9] 2.252095 3.567267
>

接下来我计算一些分位数,
> z = quantile(x,c(0.1,0.8))
> z
10% 80%
1.381929 3.347140
>

我需要这个输出作为数据框。所以我尝试了以下
> y = data.frame(id = names(z),values=z)
> y
id values
10% 10% 1.381929
80% 80% 3.347140

我看到重复了“%”列。还有当我尝试
> y$id[1]
[1] 10%
Levels: 10% 80%

而我期望它只是“10%”或0.1
任何帮助表示赞赏。

最佳答案

名字只是概率,所以

y <- data.frame(id = c(0.1, 0.8), values = z) 

会工作。

所以会将它包装在一个返回 data.frame 的函数中
quantile_df <- function(x, probs, na.rm =F, names = F, type = 7, ...){
z <- quantile(x, probs, na.rm, names, type)
return(data.frame(id = probs, values = z))
}

quantile_df(x, probs = c(0.1, 0.8))
## id values
## 1 0.1 1.343383
## 2 0.8 2.639341

关于r - 分位数输出到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443053/

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