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 :)

______________________________________________
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