首先对模式进行一般性评论:
您不应该使用这种方法来获得(至少在理论上)连续分布数据的模式;你不太可能有任何重复的值(除非你有真正巨大的样本,这将是一个小奇迹,即使这样,各种数字问题也可能使它以某种意想不到的方式表现),你通常只会得到最小值方式。这将是在离散或分类数据中找到一种全局模式的一种方法,但即使在那时我也可能不会那样做。以下是获取离散或分类数据模式的其他几种方法:
x = rpois(30,12.3)
tail(sort(table(x)),1) #1: category and count; if multimodal this only gives one
w=table(x); w[max(w)==w] #2: category and count; this can find more than one mode
which.max(table(x)) #3: category and *position in table*; only finds one mode
如果您只想要价值而不是数量或位置,names()将从那些
要以基本方式识别连续数据的模式(可以有多个本地模式),您可以对数据进行分箱(如使用直方图),也可以对其进行平滑处理(density例如使用)并尝试找到一种或多种模式那样。
更少的直方图 bin 将使您对模式的估计更少受噪声影响,但该位置不会被固定到比 bin-width 更好的位置(即您只能得到一个间隔)。更多的 bin 可能会在 bin 内提供更高的精度,但噪声可能会使它在许多这样的 bin 中跳跃;bin-origin 或 bin 宽度的微小变化可能会产生相对较大的模式变化。(在统计数据中存在相同的偏差-方差权衡。)
请注意,这summary将为您提供几个基本统计信息。
[你应该使用sd(x)而不是sqrt(var(x)); 一件事更清楚]
--
关于 q.2 是的;您当然可以在直方图或箱线图等显示器上显示数据的平均值和中位数。请参阅此处以获取一些示例和代码,您应该能够将其推广到您需要的任何情况。