首页 > 解决方案 > R 中位数不一致

问题描述

在相同的数据上运行相同的代码,使用相同的函数调用,我发现 R 中值函数返回不一致的结果。这是R中的错误还是我做错了什么?以下是有问题的数据,以及返回的两个不同的中位数。对中位数的调用包括 na.rm=TRUE。

第一次运行程序:

    epoch   x
    1       0.0280851454
    2       0.0277059423
    3       0.0252999465
    4       0.0291988163
    5       0.0291992778
    6       0.0318857602
    7       0.0351821603
    8       0.0356780765
    9       0.0383428958
    10      0.0383872088
    11      0.0343364561
    12      0.0306270197  <== median on this run
    13      NA
    14      NA
    15      NA
    16      NA
    17      NA
    18      NA
    19      NA
    Median  0.0306270197

第二次运行程序:

    epoch   x
    1       0.0280851454
    2       0.0277059423
    3       0.0252999465
    4       0.0291988163
    5       0.0291992778
    6       0.0318857602  <== median on this run
    7       0.0351821603
    8       0.0356780765
    9       0.0383428958
    10      0.0383872088
    11      0.0343364561
    12      0.0306270197
    13      NA
    14      NA
    15      NA
    16      NA
    17      NA
    18      NA
    19      NA
    Median  0.0318857602

请注意,虽然有奇数个数据点,但有偶数个非缺失数据点。使用 na.rm=TRUE 中位数应该是第 6 和第 7 个数据点之间的中点(按大小排序)。相反,R 似乎在随机选择第 6 个或第 7 个数据点(按大小排序)。

标签: r

解决方案


推荐阅读