具有非零观测子集的数据帧的R百分位数
我想计算以下tibble的百分位数 我有一个非零子集,3个变量中的每一个都有10个观测值,即具有非零观测子集的数据帧的R百分位数,r,quantile,tibble,R,Quantile,Tibble,我想计算以下tibble的百分位数 我有一个非零子集,3个变量中的每一个都有10个观测值,即 n <- 10 tibb <- tibble( x = 1:5, y = 1, z = x ^ 2 + y) n很接近,如果先使用“聚集”,然后按三个不同的因素对数据进行分组,那么创建平均值(以及随后的百分位数)的方法可能会更简单 library(dplyr) n <- 10 tibb <- tibble(x = 1:5, y = 1, z = x ^ 2 +
n <- 10
tibb <- tibble(
x = 1:5,
y = 1,
z = x ^ 2 + y)
n很接近,如果先使用“聚集”,然后按三个不同的因素对数据进行分组,那么创建平均值(以及随后的百分位数)的方法可能会更简单
library(dplyr)
n <- 10
tibb <- tibble(x = 1:5, y = 1, z = x ^ 2 + y)
tibb %>%
gather("fctr", "value") %>%
group_by(fctr) %>%
summarise(mean = sum(value) / n,
perc_50 = quantile(value, 0.5),
perc_75 = quantile(value, 0.75))
库(dplyr)
n%
分组依据(fctr)%>%
总结(平均值=总和(值)/n,
perc_50=分位数(值0.5),
perc_75=分位数(值,0.75))
但是,我不确定您是想要非零子集的百分位还是整个数据集,因为这将改变您的结果,即
> x = 1:5
> quantile(x, 0.1)
10%
1.4
> test <- c(0,0,0,0,0,1,2,3,4,5)
> quantile(test, 0.1)
10%
0
>x=1:5
>分位数(x,0.1)
10%
1.4
>测试分位数(测试,0.1)
10%
0
很接近,如果先使用“聚集”,然后按三个不同的因素对数据进行分组,那么创建平均值(以及随后的百分位数)的方法可能会更简单
library(dplyr)
n <- 10
tibb <- tibble(x = 1:5, y = 1, z = x ^ 2 + y)
tibb %>%
gather("fctr", "value") %>%
group_by(fctr) %>%
summarise(mean = sum(value) / n,
perc_50 = quantile(value, 0.5),
perc_75 = quantile(value, 0.75))
库(dplyr)
n%
分组依据(fctr)%>%
总结(平均值=总和(值)/n,
perc_50=分位数(值0.5),
perc_75=分位数(值,0.75))
但是,我不确定您是想要非零子集的百分位还是整个数据集,因为这将改变您的结果,即
> x = 1:5
> quantile(x, 0.1)
10%
1.4
> test <- c(0,0,0,0,0,1,2,3,4,5)
> quantile(test, 0.1)
10%
0
>x=1:5
>分位数(x,0.1)
10%
1.4
>测试分位数(测试,0.1)
10%
0
您可以创建包含零的数据集
missingRowCount您可以创建一个包含零的数据集
missingRowCount谢谢@Joe Stoica,这很有帮助。。。我在寻找整个数据集的百分位数;后者calculation@VincentRisington这将更难适应单个管道,因此使用上面的管道仅用于平均值,然后为百分位数创建另一个管道可能更简单。我也不知道您的原始数据是如何组织的,因此,如果您只是过滤等于0的值,您可以在管道中使用该数据,而不是过滤后的数据。然后,您可以将两个TIBLE输出合并为一个;实际数据集有数百万行,大多数值都是零,需要删除这些值才能高效地处理Tanks@Joe Stoica,这很有帮助。。。我在寻找整个数据集的百分位数;后者calculation@VincentRisington这将更难适应单个管道,因此使用上面的管道仅用于平均值,然后为百分位数创建另一个管道可能更简单。我也不知道您的原始数据是如何组织的,因此,如果您只是过滤等于0的值,您可以在管道中使用该数据,而不是过滤后的数据。然后,您可以将两个TIBLE输出合并为一个;实际的数据集有数百万行,大多数值都是零,需要删除这些值才能有效地进行处理参见?汇总所有,最后您可以按物种%>%找到汇总所有(funs(Q3=分位数),probs=0.75)
。在您的案例中,您可以尝试tibb%>%总结所有(funs(Q3=分位数,Q2=分位数),probs=0.75,probs=0.5)
参见?总结所有
最后您可以找到按物种%>%总结所有(funs(Q3=分位数),probs=0.75)
。在您的情况下,您可以尝试tibb%>%summary\u all(funs(Q3=分位数,Q2=分位数),probs=0.75,probs=0.5)