如何在给定数据子集的情况下获取值的百分位数.使用 R



我已经阅读了很多"如何获得百分位数"的答案,但找不到解决问题的方法。

我有一个包含 3 列的数据帧:心率(每分钟心跳数(、温度(范围从 35 到 45 - 无小数(、活动(范围从 1 到 15 - 无小数(。

我想添加第 4 列,其中包含心率的百分位值,考虑以给定温度和给定活动为特征的心率分布。

例: 在温度 = 37 且活动 = 5 时,每分钟 60 次的心率的百分位数为 ...

#example of data frame
n = 1000
df <- data.frame(HeartRate = round(runif(n, 60, 100)),
Temperature = round(runif(n, 35, 45)),
Activity = round(runif(n, 1, 15)))

提前非常感谢您的帮助。

试试这个?如果它不符合您的目的,请提供您的数据样本以及您希望输出的外观。

library(dplyr)
# generate dummy data
n = 1000
df <- data.frame(HeartRate = round(runif(n, 60, 100)),
Temperature = round(runif(n, 35, 45)),
Activity = round(runif(n, 1, 15)))
df %>% group_by(Temperature, Activity) %>%
mutate(Percentile = percent_rank(HeartRate)) %>%
ungroup()

最新更新