使用r中的ave()按因子计算百分位数

时间:2015-06-26 13:46:51

标签: r

我正在尝试按因子级别(DistrictName)计算z分数变量(BuildingZ)的百分位数(0.3和0.7)。到目前为止,我的研究指向了ave()函数的方向,允许我按因子级别排序,但鉴于我在R中工作的“新意”,我真的不知道如何解决这个问题。这是我尝试过的:

使用我需要的变量创建数据框:

MathGap2=data.frame(MathGap$DistrictName, MathGap$BuildingName, MathGap$Grade, MathGap$BuildingZ)

使用ave()函数将所需的分位数计算为新列:

MathGap2$Thirty<-ave(MathGap2$BuildingZ, MathGap2$DistrictName, fun=quantile(MathGap2$BuildingZ, c(0.3)))

我不确定调用“quantile”是否有效,或者我是否必须为此编写函数(这超出了我的经验)。我见过类似的尝试here,但无法让它们发挥作用。

P.S。如果它有任何帮助,一些因素可能只发生1-3次。我不确定这是否会影响计算百分位数的能力。虽然这看起来很傻,但暂时忽略了阴暗的数学;只是试图尽可能地复制现有的研究。

0 个答案:

没有答案