在R中处理"小于" s

时间:2016-02-25 18:06:47

标签: r conceptual

也许这是一个哲学问题,而不是一个编程问题,但这里有......

在R中,是否有一些软件包或方法可以让你处理"少于" s作为一个概念?

背景故事:我有一些数据,出于隐私原因,对于小数字给出<5(实际上代表整数1,2,3或4)。我想对这些数据做一些简单的算术(加,减,平均等),但显然我需要找到一些方法来概念性地处理这些<5。我可以用NA来替换所有这些,当然,这会丢掉潜在有用的信息,如果可能的话我想避免这种情况。

我的意思的一些例子:

a <- c(2,3,8)
b <- c(<5,<5,8)
mean(a)
> 4.3333
mean(b)
> 3.3333 -> 5.3333

5 个答案:

答案 0 :(得分:2)

如果您对边界处的值感兴趣,我会将每个数据集分成两个数据集;将所有<5设置为1并将所有<5设置为4的一个。

a <- c(2,3,8)
b1 <- c(1,1,8)
b2 <- c(4,4,8)

mean(a)
# 4.333333
mean(b1)
# 3.3333
mean(b2)
# 5.3333

答案 1 :(得分:2)

遵循@hedgedandlevered提案,但他的错误正常和/或统一。你要求整数,所以你必须使用离散分布,如Poissonbinomial(包括负数),geometric

答案 2 :(得分:2)

统计数据&#34;小于&#34;数据被称为&#34;左删失&#34; https://en.wikipedia.org/wiki/Censoring_(statistics),搜索&#34;删失数据&#34;可能有所帮助。

我最喜欢的分析此类数据的方法是最大可能性https://en.wikipedia.org/wiki/Maximum_likelihood。有许多R包用于最大似然估计,我喜欢生存包https://cran.r-project.org/web/packages/survival/index.html但是还有其他包,例如fitdistrplus https://cran.r-project.org/web/packages/fitdistrplus/index.html&#34;提供函数,用于将单变量分布拟合到不同类型的数据(连续删失或非删失数据和离散数据),并允许不同的估计方法(最大似然,矩匹配,分位数匹配和最大值)良好的估计)&#34;。

您必须指定(假设?)数据分布的形式;你说它是整数所以也许Poisson [相关]分布可能是合适的。

答案 3 :(得分:1)

将它们视为您选择的特定概率分布,并将其替换为实际随机生成的数字。全部等于2.5,类似于正常的分布上限为0和5,[0,5]上均匀为所有选项

答案 4 :(得分:0)

我经常处理类似的数据。我强烈反对将<5值替换为特定数字的任何建议。考虑以下两种情况:

  • c(<5,<5,<5,<5,<5,<5,<5,<5,6,12,18)
  • c(<5,6,12,18)

当您尝试使用这些算法进行算术时会出现问题。

我认为您的问题的解决方案是将值视为factor s(R意义上的。如果有帮助,您也可以将5以上的值加以分隔。示例

  • c(<5,<5,<5,<5,<5,<5,<5,<5,5-9,10-14,15-19)
  • c(<5,5-9,10-14,15-19)

现在,您仍然不会对这些进行算术运算,但您的汇总统计数据(直方图/比例表等等)会更有意义。

相关问题