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

时间:2017-08-25 09:35:32

标签: r subset percentile

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

我有一个包含3列的data.frame:心率(每分钟节拍),温度(范围从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)))

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个?如果它不符合您的目的,请提供您的数据样本和你期望输出看起来像什么。

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()