R.我想用循环法排除ANOVA中的值

时间:2012-02-01 22:36:33

标签: r loops anova

我想通过排除它来检查我用于anova的数据点的影响:

wanted =(1:10 !=10)
wanted
summary(aov(log(Sdrtl)~location,subset=wanted))

我不想手动排除1:10,而是想制作某种循环,以便所有anova立即流出。我是初学者,我尝试过:

for (i in 1:10){
    wanted =(1:10 !=i)
        summary(aov(log(Sdrtl)~location,subset=wanted))
    }

,它没有给出我想要的东西。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

我想问题是summary没有打印任何东西 - 它返回一个对象(你忽略它)。

# This will print the summaries
for(i in 1:10) print(summary(aov(log(Sdrtl)~location, subset=1:10!=i)))

# This will return a list of all summaries
x <- lapply(1:10, function(i) summary(aov(log(Sdrtl)~location, subset=1:10!=i)))
x # prints the summaries

第二个版本更有用,因为您可以存储结果并对其进行分析......

答案 1 :(得分:1)

您是否检查过基地R中的influence.measures功能是否已达到您想要的效果?它计算了一系列留一法诊断......