I'm trying to find a more elegant way of doing this. What I'm trying to accomplish is to count the frequency of letters (major / minor alleles) in a string grouped by the factor levels in another column of my data frame.
Ex. > DF<-data.frame(c("CC", "CC", NA, "CG", "GG", "GC"), c("L", "U", "L", "U", > "L", NA)) > colnames(DF)<-c("X", "Y") > DF X Y 1 CC L 2 CC U 3 <NA> L 4 CG U 5 GG L 6 GC <NA> I have an ugly solution, which works if you know the factor levels of Y in advance. > ans<-rbind(table(unlist(strsplit(as.character(DF[DF[ ,'Y'] == 'L', 1]), ""))), + table(unlist(strsplit(as.character(DF[DF[ ,'Y'] == 'U', 1]), "")))) > rownames(ans)<-c("L", "U") > ans C G L 2 2 U 3 1 I've played with table, xtab, tabulate, aggregate, tapply, etc but haven't found a combination that gives a more general solution to this problem. Any ideas? Brian ______________________________________________ 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.