> aFactor <- factor(rep(letters[1:3], 1:3))
> aFactor
[1] a b b c c c
Levels: a b c
> for(af in levels(aFactor)){
+ print(sum(aFactor==af))
+ }
[1] 1
[1] 2
[1] 3
spencer graves
Tord Snall wrote:
Dear all,
I would like to use the values in vegaggr.BLMCMR02$colony
str(vegaggr.BLMCMR02)
`data.frame': 1678 obs. of 3 variables:
$ vegtype : Factor w/ 27 levels "2010","2020",..: 3 4 5 19 4 5 19
$ colony : Factor w/ 406 levels "0","1","10","100",..: 1 1 1 1 2
$ Totvegproparea: num 0.00055 0.03956 0.95705 0.00284 0.05215 ...
as the seq in a for loop (for(var in seq)), and therefore first picked
out as
cols = aggregate(list(A = vegaggr.BLMCMR02$Totvegproparea),
list(colony = vegaggr.BLMCMR02$colony), sum)[,1]
Factor w/ 406 levels "0","1","10","100",..: 1 2 3 4 5 6 7 8 9 10 ...
I next planned to transform cols using as.integer(cols). However, this
transformation gives a vector corresponding to
seq(from=1,to=length(cols)).
Could someone please give advice on how to make use of a factor as the
in a for loop (which is strictly not allowed' according to ?Control).
Thanks!
Tord