gpt4 book ai didi

r - 创建包含 quantile() 函数输出的列

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

我正在寻找一种基于 quantile() 函数输出创建多列的方法。我实际上想要包含女性和男性值(value)的每一行的分位数。

第 1 行示例:我想要 quantile(c(4.6, 5.8))哪个给:

  0%  25%  50%  75% 100% 
4.6 4.9 5.2 5.5 5.8

这是我想要的数据示例和输出:

数据:

  code  womens  mens
1: 01 4.6 5.8
2: 02 5.0 4.6
3: 03 4.1 5.3
4: 04 5.2 3.0
5: 05 4.6 5.4
6: 06 2.3 3.4

我想要什么:

  code  womens  mens  0%  25%  50%  75% 100%
1: 01 4.6 5.8 4.6 4.9 5.2 5.5 5.8
2: 02 5.0 4.6 4.6 4.7 4.8 4.9 5.0
3: 03 4.1 5.3 4.1 4.4 4.7 5.0 5.3
4: 04 5.2 3.0 3.0 3.5 4.1 4.6 5.2
5: 05 4.6 5.4 4.6 4.8 5.0 5.2 5.4
6: 06 2.3 3.4 2.3 2.6 2.8 3.1 3.4

我已经尝试过 lapply() 和一些 for loop 但没有结果。对于每一行,我得到的结果始终是相同的 4.6 4.9 5.2 5.5 5.8

谢谢大家

最佳答案

cbind(d, do.call(rbind, lapply(1:NROW(d), function(i){
quantile(d[i, c("womens", "mens")])
})))
# code womens mens 0% 25% 50% 75% 100%
#1: 1 4.6 5.8 4.6 4.900 5.20 5.500 5.8
#2: 2 5.0 4.6 4.6 4.700 4.80 4.900 5.0
#3: 3 4.1 5.3 4.1 4.400 4.70 5.000 5.3
#4: 4 5.2 3.0 3.0 3.550 4.10 4.650 5.2
#5: 5 4.6 5.4 4.6 4.800 5.00 5.200 5.4
#6: 6 2.3 3.4 2.3 2.575 2.85 3.125 3.4

数据

d = structure(list(code = 1:6,
womens = c(4.6, 5, 4.1, 5.2, 4.6, 2.3),
mens = c(5.8, 4.6, 5.3, 3, 5.4, 3.4)),
class = "data.frame",
row.names = c("1:", "2:", "3:", "4:", "5:", "6:"))

关于r - 创建包含 quantile() 函数输出的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57999328/

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