[R] for loop, error in model frame.default ... variable lengths differ
Petr PIKAL
petr.pikal at precheza.cz
Mon May 21 10:25:05 CEST 2012
Hi
You did not provide data but I can see some problems in your code. See
inline.
>
> I'm failing to get a for loop working. I'm sure it's something simple,
and I
> have found some posts relating to it, but I'm just not understanding why
> this isn't working.
>
> I have a data frame and would like to loop through specific column
names,
> using aggregate() within a for loop. There are NA's scattered
throughout
> the data frame and I'm thinking it has something to do with that, but I
> haven't been able to fix it.
>
> vars <- colnames(df)[c(10,12,16,18,20,21,24:29,45)]
> for(i in 1:length(vars)) {
So i is actually values from 1 to length of vars variable.
> aggregate(colnames(df)[i] ~ x1 + x2 + x3, df, mean,
and you select variables from df[,1] to df[, length(vars)], which is
probably not what you want.
What is x1-x3? are they variables in df?
> na.action=na.exclude)
for mean the correct statement is na.rm=TRUE
> }
>
> I get this error:
> Error in model.frame.default(formula = colnames(df)[i] ~ x1 + x2 + :
> variable lengths differ (found for 'x1')
Maybe x1 has different length as df. What length(x1) and dim(df) tells
you?
Regards
Petr
>
> There are probably much better ways to do this, and I would be happy to
get
> suggestions, but mostly I would like to know why the code isn't working.
>
> Thanks-
> Peter
>
> --
> View this message in context: http://r.789695.n4.nabble.com/for-loop-
> error-in-model-frame-default-variable-lengths-differ-tp4630698.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list