r - 创建包含 quantile() 函数输出的列
问题描述
我正在寻找一种基于quantile()
函数输出创建多个列的方法。我实际上想要包含女性和男性值的每行的分位数。
第 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:"))
推荐阅读
- python - Django 中的保存方法中的 RelatedObjectDoesNotExist 错误
- asp.net - 是否可以使用数据库中的特定列值更改 asp.net 中的网格颜色
- ruby-on-rails - TeamCity 基于某些被更改的文件导致构建失败并允许管理员覆盖
- php - 无法将数据从数据库转换为 pdf
- android - ActivityCompat.requestPermissions 不显示 ACCESS_FINE_LOCATION 的对话框
- sql - 我想创建一个复合类型名称 DeptRecord 并接受来自用户的值并将接受的值插入到表中
- python - 从两个数据帧python中删除不匹配的行
- typescript - ts1219 对 Visual Studio 2019 中装饰器的实验性支持
- julia - 朱莉娅亚型逻辑对我没有任何意义
- dataframe - 为什么在通过 cassandra 连接的非常简单的数据帧上,spark 会进入无限循环进行以下操作?