如何同时在多个变量的前n个百分位数中找到个案?

st19297

假设我们有一个像这样的数据框:

df <- data.frame(x = seq(10, 20), y = seq(8, 18), z = seq(0, 10))

    x  y  z
1  10  8  0
2  11  9  1
3  12 10  2
4  13 11  3
5  14 12  4
6  15 13  5
7  16 14  6
8  17 15  7
9  18 16  8
10 19 17  9
11 20 18 10

我们如何选择在所有X,Y和Z上处于最高百分比的情况?我需要一个代码来搜索所有变量中前1%的案例,然后如果什么都没找到,则将条件放宽到2%,然后是3%,依此类推,直到找到m个案例中所有百分比最高的案例变量。我们需要根据需要设置m。

扎克

我认为这应该为您解决问题:

df<-data.frame(x=seq(10,20), y=seq(8,18), z=seq(0,10))

#defining function - df is input frame, cases is the 'm' you are looking for
#startingperc is just the percentage level you want to start with and tickrate
#is the rate at which you decrease the perentile until you get m cases
myfunc <- function(df, cases, startingperc, tickrate){
  found <- 0
  while(found < cases) {
    quants <- apply(df, 2, quantile, probs = startingperc)
    indices <- which(apply(df, 1, function(x) all(x > quants)) == TRUE)
    found <- length(indices)
    if(found < cases) {startingperc <- startingperc - tickrate}
  }
  #added this to handle a tickrate that is too large
  if (length(indices) > cases) {
    indices <- rev(indices[order(apply(df[indices,],1, sum), decreasing = T)[1:cases]])
  }
  return(df[indices,])
}

#in use
myfunc(df, 5, .99, .01)

给予:

> myfunc(df, 5, .99, .01)
    x  y  z
7  16 14  6
8  17 15  7
9  18 16  8
10 19 17  9
11 20 18 10

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

你如何在python中找到字典值的百分位数

来自分类Dev

我们如何在MATLAB中找到伽马分布的百分位数或分位数?

来自分类Dev

我们如何在MATLAB中找到伽马分布的百分位数或分位数?

来自分类Dev

如何在Python组中找到每一行的加权百分位数?

来自分类Dev

从PySpark中的类别分布中找到值的百分位数

来自分类Dev

在PowerPivot / DAX中找到计算量度的百分位数

来自分类Dev

如何获得每个十分位数中一个因子变量的计数或百分比?

来自分类Dev

如何使用dplyr通过id过滤数据帧组中列的前10个百分位数

来自分类Dev

如何使用dplyr通过id过滤数据帧组中列的前10个百分位数

来自分类Dev

如何从PHP中的双精度数组计算第n个百分位数?

来自分类Dev

如何根据分组变量计算 PowerQuery 中的百分位数?

来自分类Dev

如何从频率表计算百分位数

来自分类Dev

百分位数算法

来自分类Dev

百分位数算法

来自分类Dev

VGAM的百分位数

来自分类Dev

回归百分位数

来自分类Dev

标绘数据2.5%百分位数97.5%百分位数

来自分类Dev

如何使用具有多个条件的条件数组来计算百分位数?

来自分类Dev

如何近似计算大量未知数的第 x 个百分位数

来自分类Dev

Python-加快找到大于阈值的集合百分位数的速度

来自分类Dev

哪里可以找到numpy百分位数的源代码

来自分类Dev

Python-加快找到大于阈值的集合百分位数的速度

来自分类Dev

找到对应于给定百分位数的 DOY

来自分类Dev

使用R,如何使用已知的均值,中位数,百分位数估算分布?

来自分类Dev

使用R,如何使用已知的均值,中位数,百分位数估算分布?

来自分类Dev

直到给定百分位数的变量累计和

来自分类Dev

在VBA中使用变量创建百分位数if函数

来自分类Dev

直到给定百分位数的变量累计和

来自分类Dev

在给定其他几个百分位数的情况下,如何估算某个值的百分位数?

Related 相关文章

  1. 1

    你如何在python中找到字典值的百分位数

  2. 2

    我们如何在MATLAB中找到伽马分布的百分位数或分位数?

  3. 3

    我们如何在MATLAB中找到伽马分布的百分位数或分位数?

  4. 4

    如何在Python组中找到每一行的加权百分位数?

  5. 5

    从PySpark中的类别分布中找到值的百分位数

  6. 6

    在PowerPivot / DAX中找到计算量度的百分位数

  7. 7

    如何获得每个十分位数中一个因子变量的计数或百分比?

  8. 8

    如何使用dplyr通过id过滤数据帧组中列的前10个百分位数

  9. 9

    如何使用dplyr通过id过滤数据帧组中列的前10个百分位数

  10. 10

    如何从PHP中的双精度数组计算第n个百分位数?

  11. 11

    如何根据分组变量计算 PowerQuery 中的百分位数?

  12. 12

    如何从频率表计算百分位数

  13. 13

    百分位数算法

  14. 14

    百分位数算法

  15. 15

    VGAM的百分位数

  16. 16

    回归百分位数

  17. 17

    标绘数据2.5%百分位数97.5%百分位数

  18. 18

    如何使用具有多个条件的条件数组来计算百分位数?

  19. 19

    如何近似计算大量未知数的第 x 个百分位数

  20. 20

    Python-加快找到大于阈值的集合百分位数的速度

  21. 21

    哪里可以找到numpy百分位数的源代码

  22. 22

    Python-加快找到大于阈值的集合百分位数的速度

  23. 23

    找到对应于给定百分位数的 DOY

  24. 24

    使用R,如何使用已知的均值,中位数,百分位数估算分布?

  25. 25

    使用R,如何使用已知的均值,中位数,百分位数估算分布?

  26. 26

    直到给定百分位数的变量累计和

  27. 27

    在VBA中使用变量创建百分位数if函数

  28. 28

    直到给定百分位数的变量累计和

  29. 29

    在给定其他几个百分位数的情况下,如何估算某个值的百分位数?

热门标签

归档