[R] For loop for frequency counting

arun
Thu, 02 Jan 2014 19:11:39 -0000

Hi,

May be this helps:
var1 <- ave(seq_along(fam),fam,FUN=length)
?names(var1) <- fam
?var1
#2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5
#4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4


#or
table(fam)[as.character(fam)]
#fam
#2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5
#4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4


fam1 <- c(fam,2)

?var2 <- table(fam1)[as.character(fam1)]
?names(dimnames(var2)) <- NULL
?var2
#2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 2
#5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5

A.K.




fam <- sort(rep(2:5, 4))

I want to create a new variable of the same length as fam, that
stores the number of observations of each value. Another way to think
about this would be like table(fam) but with the results of table(fam)
linked to each record.

I tried:

for (i in unique(fam)) {
num <- sum(fam == i)
}

but it doesn't work, I think because of the i being the value itself rather
than a handle? Idk. How would I do this?

Thank you :)