【问题标题】:How to get the percentile of a value given a subset of data. Using R如何在给定数据子集的情况下获取值的百分位数。使用 R
【发布时间】:2018-02-03 08:02:57
【问题描述】:

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

我有一个包含 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)))

非常感谢您的帮助。

【问题讨论】:

标签: r subset percentile


【解决方案1】:

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

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

【讨论】:

  • 嗨!谢谢!我得到“错误:找不到函数“%>%””
  • 您需要dplyr 包。我已经编辑了我的代码。
  • 非常感谢!我认为这是我正在寻找的,但我不是 100% 确定。你能评论一下每个步骤在做什么吗?再次感谢
猜你喜欢
  • 2017-08-31
  • 1970-01-01
  • 2021-12-03
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
  • 2015-07-16
  • 2019-01-12
  • 2018-07-23
相关资源
最近更新 更多