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]]
Possibly Parallel 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