Hi all, Suppose I had the below example where a survey was carried out recording the number of each type of pet in each house count<-c(2,1,2,1,2,3,4) house<-c("house1","house1","house2","house3","house4","house4","house4") pet<-c("dogs","cats","dogs","dogs","budgie","cat","hamster") d.f<-data.frame(house,pet,count) How would I acheive a dataframe that had every instance of house in column 1, all possible pets in column 2 and counts in column 3 like this... newhouse<-rep(unique(house),1,each=4) newpets<-rep(unique(pet),4) newcount<-c(2,1,0,0,2,0,0,0,1,0,0,0,0,3,2,4) newdf<-data.frame(newhouse,newpets,newcount) Is there a way of doing this without creating a new matrix and using programming loops? Thanks in advance, Simon. [[alternative HTML version deleted]]
Henrique Dallazuanna
2008-Dec-18 11:25 UTC
[R] inserting zero instances with zeroes in a matrix
Try this: with(d.f, {merge(data.frame(house = rep(unique(house), each length(unique(pet))), pet = unique(pet)), d.f, by = c("house", "pet"), all = TRUE) } ) On Thu, Dec 18, 2008 at 8:58 AM, Simon Pickett <simon.pickett@bto.org>wrote:> Hi all, > > Suppose I had the below example where a survey was carried out recording > the number of each type of pet in each house > > count<-c(2,1,2,1,2,3,4) > house<-c("house1","house1","house2","house3","house4","house4","house4") > pet<-c("dogs","cats","dogs","dogs","budgie","cat","hamster") > d.f<-data.frame(house,pet,count) > > How would I acheive a dataframe that had every instance of house in column > 1, all possible pets in column 2 and counts in column 3 like this... > > newhouse<-rep(unique(house),1,each=4) > newpets<-rep(unique(pet),4) > newcount<-c(2,1,0,0,2,0,0,0,1,0,0,0,0,3,2,4) > newdf<-data.frame(newhouse,newpets,newcount) > > Is there a way of doing this without creating a new matrix and using > programming loops? > > Thanks in advance, Simon. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. >-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]
Maybe Matching Threads
- How to Interpret Results of Regression in R
- gpedit.msc as centralized policy for 2k/xp clients in domain
- summary of replies to [strange stuff in 'last' command]
- CFP: 13th IEEE/ACM Int. Conf. on Grid Computing (GRID) 2012
- CFP: 13th IEEE/ACM Int. Conf. on Grid Computing (GRID) 2012