[R] Outputing multilple subsets
Johann Hibschman
johannh at gmail.com
Mon Nov 9 02:31:50 CET 2009
On Nov 8, 2009, at 7:23 PM, rusers.sh wrote:
> for (i in num) {
> c_num<-c[c$b==num,]
> write.csv(c_num,file="c:/c_num.csv")
> }
>
> Warning messages:
> 1: In c$b == num :
> longer object length is not a multiple of shorter object length
This is because you're comparing column b to the entire vector of
numbers (num), not the current number in the iteration (i). The first
line of the loop should be "c_num<-c[c$b==i,]".
From a style point of view, I'd use "n" as my variable, since "i" is
too commonly used as an integer index.
Also, you will be overwriting the same file, called "c_num.csv", on
each iteration.
You should try something more like:
for (n in num) {
c.n <- c[c$b==n,]
write.csv(c.n, file=paste("c:/c_", n, ".csv", sep="")
}
I hope that helps.
Cheers,
Johann Hibschman
More information about the R-help
mailing list