Skip to content
Prev 248450 / 398502 Next

removing outlier function / dataset update

Hi,
x and y are being picked up from your global environment, not from the
x and y in dataset. Here is a version that seems to work:

rm.outliers = function(dataset,var1, var2) {

    dataset$varpredicted = predict(lm(as.formula(paste(var1, var2,
sep=" ~ ")), data=dataset))
    dataset$varstdres = rstudent(lm(as.formula(paste(var1, var2, sep="
~ ")), data=dataset))
    i = length(which(dataset$varstdres > 3 | dataset$varstdres < -3))
    while(i >= 1){
        removed = which(dataset$varstdres > 3 | dataset$varstdres < -3)
        print(dataset[removed,])
        dataset = dataset[-removed,]
        dataset$varpredicted = predict(lm(as.formula(paste(var1, var2,
sep=" ~ ")), data=dataset))
        dataset$varstdres = rstudent(lm(as.formula(paste(var1, var2,
sep=" ~ ")), data=dataset))
        i = with(dataset,length(varstdres > 3 | varstdres < -3))
    }
}


Best,
Ista
On Wed, Jan 26, 2011 at 11:36 AM, kirtau <kirtau at live.com> wrote: