使用R计算中间值而不复制元素

使用R计算中间值而不复制元素,r,median,frequency-distribution,quartile,R,Median,Frequency Distribution,Quartile,我有一个数量巨大的频率分布。我想计算中位数和四分位数,但R抱怨。以下是适用于小数字的方法: > TABLE <- data.frame(DATA = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19), F = c(48,0,192,1152,5664,23040,77952,214272,423984,558720,267840,0,0,0,0,0,0,0,0)) > summary(rep(TABLE$DAT,TABLE$F

我有一个数量巨大的频率分布。我想计算中位数和四分位数,但R抱怨。以下是适用于小数字的方法:

> TABLE <- data.frame(DATA = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19), F = c(48,0,192,1152,5664,23040,77952,214272,423984,558720,267840,0,0,0,0,0,0,0,0))
> summary(rep(TABLE$DAT,TABLE$F))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   9.000  10.000   9.397  10.000  11.000
>表格摘要(rep(表格$DAT,表格$F))
最小第一个曲中位数平均第三个曲最大值。
1.000   9.000  10.000   9.397  10.000  11.000
以下是我从大量数据中得到的:

> TABLE <- data.frame(DATA = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19), F = c(240,0,1200,9600,69600,470400,2992800,17859840,98312880,489292800,2164619760,8325820800,26865302400,68711068800,128967422400,153763315200,96770419200,26824089600,2395008000))
> summary(rep(TABLE$DAT,TABLE$F))
Error in rep(TABLE$DAT, TABLE$F) : invalid 'times' argument
In addition: Warning message:
In summary(rep(TABLE$DAT, TABLE$F)) :
  NAs introduced by coercion to integer range
>表格摘要(rep(表格$DAT,表格$F))
rep(表$DAT,表$F)中出错:“times”参数无效
此外:警告信息:
简言之(代表(表$DAT,表$F)):
强制到整数范围引入的NAs
这个错误并不让我感到惊讶,因为使用“rep”我想创建一个巨大的向量。但我不知道如何避免这种情况,并计算中位数和四分位数。

你可以得到“加权分位数”,而不是试图复制怪物来使用
summary()。
.
但和大多数事情一样,一旦你知道正确的术语,你就可以找到一个包
这已经成功了

#安装程序包(“Hmisc”)
表25%50%75%
#>  15  16  16

由(v0.2.0)于2018-04-06创建。

表格$F
更改为
双精度
,然后重试。尝试运行该程序@MKR:我是一个初学者,你能解释一下,如何改成双倍吗?你可以试试
TABLE不能测试它,因为我手边没有R,但是可以看看