Dear list, 
this must be an easy one:

I have a data.frame of two columns, "ID" with four different levels (A 
to D) and numerical "size", and each of the 4 different IDs is 
repeated a 
different number of times. I would like to get the mean size for each 
ID as another data.frame. I have tried the following:

>ID= as.character(unique(data[,1])) # I use unique() because "data" 
will be larger in future
>nIDs = length(ID)
>for(i in 1:nIDs){
+  subdata = subset(data,V1==ID[i])
+  average = as.data.frame(cbind(1:i,ID[i],mean(subdata[,2]))
+ }

Unfortunately, my output only gets the last level of ID four times:
>average
     V1 V2               V3
1  1  D 179.777777777778
2  2  D 179.777777777778
3  3  D 179.777777777778
4  4  D 179.777777777778

How can I get what I need? there might be an easier way to do it, but 
I guess my skills aren“t that good. Any suggestions are welcome

Regards,

David

______________________________________________
R-help@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.

Reply via email to