Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给定R中每个值的计数,如何轻松获得平均值、中位数、四分位数等?_R_Statistics - Fatal编程技术网

给定R中每个值的计数,如何轻松获得平均值、中位数、四分位数等?

给定R中每个值的计数,如何轻松获得平均值、中位数、四分位数等?,r,statistics,R,Statistics,假设我有一个数据框,其中一列表示值,另一列表示观察到该值的次数: x <- data.frame(value=c(1,2,3), count=c(4,2,1)) x # value count # 1 1 4 # 2 2 2 # 3 3 1 x您是否试用过这些软件包: Hmisc——它有几个加权统计信息,包括加权分位数 laeken——它有加权分位数 或者尝试对其进行反向转换,并以常规方式运行分析: dtf <- data.fra

假设我有一个数据框,其中一列表示值,另一列表示观察到该值的次数:

x <- data.frame(value=c(1,2,3), count=c(4,2,1))
x
#   value count
# 1     1     4
# 2     2     2
# 3     3     1

x您是否试用过这些软件包:

  • Hmisc
    ——它有几个加权统计信息,包括加权分位数

  • laeken
    ——它有加权分位数


  • 或者尝试对其进行反向转换,并以常规方式运行分析:

    dtf <- data.frame(value = 1:3, count = c(4, 2, 1))
    x <- with(dtf, rep(value, count))
    summary(x)
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      1.000   1.000   1.000   1.571   2.000   3.000 
    fivenum(x)
    [1] 1 1 1 2 3
    

    dtf为了完整起见,我要注意Bioconductor中的S4Vectors包以“Rle”类的形式提供了一个答案,它允许您构建一个支持所有常规操作的游程编码向量:

    library(S4Vectors)
    x <- data.frame(value=c(1,2,3), count=c(4,2,1))
    y <- Rle(x$value, x$count)
    mean(y)
    median(y)
    quantile(y)
    
    库(S4Vectors)
    x来完成测试
    通过
    下面是完成给定加权中值的代码
    值的列
    另一列表示观察到该值的次数。
    请注意,它使用
    Hmisc
    包中的
    wtd.quantile
    函数

    require(Hmisc)
    
    x <- data.frame(value=c(1,2,3), count=c(4,2,1))
    ##   value count
    ## 1     1     4
    ## 2     2     2
    ## 3     3     1
    
    wtd.quantile(x$value, x$count, probs = 0.5)
    ## 50% 
    ##   1 
    
    require(Hmisc)
    
    我在问题中说,总数超过30亿,这太大了,做不到。Hmisc似乎拥有我需要的所有功能。非常感谢。