Prof Brian Ripley wrote: > On Mon, 13 Feb 2006, Roger Levy wrote: > >> Hi, >> >> Is it possible to index via a character matrix? For example, I would >> like to do the following: >> >> cont.table <- table(df1$A,df1$B) # df1 a data frame with factors A and B >> cont.table[cbind(df2$A,df2$B)] # df2 a smaller data frame with some >> # pairings of values for A and B >> >> but the second step does not work -- I guess that matrices to be used >> for indexing this way must be numeric. Is there a way to index multiple > > Numeric or logical. > >> character tuples out of a contingency table without resorting to writing >> loops? > > What are you trying to do here? One possibility is that you meant > > comt.table[df2$A, df2$B] > > and another is > > ind1 <- match(df2$A, df1$A) > ind2 <- match(df2$B, df1$B) > cont.table[cbind(ind1, ind2)] > > and I am not certain which. >
Hmm, I think neither one is what I wanted. After thinking more about it, I think what I would need is ind1 <- match(df2$A,levels(df1$A)) ind2 <- match(df2$B,levels(df2$B)) cont.table[cbind(ind1,ind2)] Does this make sense? Is there a more natural way to express this? Many thanks, Roger ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
