Sorry, word wrap made that incomprehensible, I think x y 4 5 6 7 6 6 7 5 5 7 6 7 4 5 6 7 7 6 5 6 dat <- read.table('clipboard', header=TRUE)
dat$patt <- paste(dat$x,dat$y, sep='') mm <- as.data.frame(with(dat, table(patt))) dat <- merge(dat, mm, by='patt') mat <- matrix(0, ncol=10, nrow=10) gg <- matrix(c(dat$x, dat$y), ncol=2) mat[gg] <- dat$Freq > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Doran, Harold > Sent: Wednesday, February 06, 2008 9:56 AM > To: Waterman, DG (David); r-help@r-project.org > Subject: Re: [R] counting row repetitions without loop > > I think this does what you want, but there may be a more efficient way > > x y > 4 5 > 6 7 > 6 6 > 7 5 > 5 7 > 6 7 > 4 5 > 6 7 > 7 6 > 5 6 > dat <- read.table('clipboard', header=TRUE) # copy sample > data above dat$patt <- paste(dat$x,dat$y, sep='') mm <- > as.data.frame(with(dat, table(patt))) dat <- merge(dat, mm, > by='patt') mat <- matrix(0, ncol=10, nrow=10) gg <- > matrix(c(dat$x, dat$y), ncol=2) mat[gg] <- dat$Freq > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Waterman, DG > > (David) > > Sent: Wednesday, February 06, 2008 9:08 AM > > To: r-help@r-project.org > > Subject: [R] counting row repetitions without loop > > > > Hi, > > > > I have a data frame consisting of coordinates on a 10*10 grid, i.e. > > > > > example > > x y > > 1 4 5 > > 2 6 7 > > 3 6 6 > > 4 7 5 > > 5 5 7 > > 6 6 7 > > 7 4 5 > > 8 6 7 > > 9 7 6 > > 10 5 6 > > > > What I would like to do is return an 10*10 matrix > consisting of counts > > at each position, so in the above example I would have a > matrix where, > > for example, cell [4,5] contains 2 and [6,7] contains 3. At > the moment > > I have implemented this using a for loop over the rows of the data > > frame, however the data frames I want to process are very > long so the > > loop takes many minutes to complete. Can I do this in a > more efficient > > way? > > > > Cheers, > > David > > <DIV><FONT size="1" color="gray">This e-mail and any > attachments may > > contain confidential, copyright and or privileged material, and are > > for the use of the intended addressee only. If you are not the > > intended addressee or an authorised recipient of the > addressee please > > notify us of receipt by returning the e-mail and do not use, copy, > > retain, distribute or disclose the information in or > attached to the > > e-mail. > > Any opinions expressed within this e-mail are those of the > individual > > and not necessarily of Diamond Light Source Ltd. > > Diamond Light Source Ltd. cannot guarantee that this e-mail or any > > attachments are free from viruses and we cannot accept > liability for > > any damage which you may sustain as a result of software > viruses which > > may be transmitted in or with the message. > > Diamond Light Source Limited (company no. 4375679). > > Registered in England and Wales with its registered office > at Diamond > > House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, > > OX11 0DE, United Kingdom </FONT></DIV> > > > > ______________________________________________ > > 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. > > > > ______________________________________________ > 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. > ______________________________________________ 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.