Hi Peter,


This works as I expected. Thank you very much.





Eddie

> Date: Fri, 29 May 2009 11:15:37 +0200
> From: p.dalga...@biostat.ku.dk
> To: all...@cybaea.com
> CC: r-help@r-project.org
> Subject: Re: [R] IP-Address
> 
> Allan Engelhardt wrote:
> > IP addresses are very (very!) difficult to parse and sort correctly
> > because there are all sorts of supported formats.  Try to use something
> > like PostgreSQL instead: it is already implemented there.  But if you
> > are sure all your data is of the n.n.n.n form, then something along the
> > lines of the following should basically work (I have chosen some more
> > interesting IP addresses for this):
> > 
> > 
> > a <- data.frame(cbind(id=c(138,138,138,138),
> >                      rank=c(29746,29746,29746,29746),
> >                      color=c("yellow","red","blue","red"),
> >                      status=c("no","yes","yes","no"),
> >                     
> > ip=c("162.131.58.26","2.131.58.16","2.2.58.10","162.131.58.17")))
> > a
> > #    id  rank  color status            ip
> > # 1 138 29746 yellow     no 162.131.58.26
> > # 2 138 29746    red    yes   2.131.58.16
> > # 3 138 29746   blue    yes     2.2.58.10
> > # 4 138 29746    red     no 162.131.58.17
> > x <- matrix(unlist(lapply(strsplit(as.character(a$ip), ".", fixed=TRUE),
> > as.integer)),
> >            ncol=4, byrow=TRUE)
> > a[order(x[,1],x[,2],x[,3],x[,4]),]
> > #    id  rank  color status            ip
> > # 3 138 29746   blue    yes     2.2.58.10
> > # 2 138 29746    red    yes   2.131.58.16
> > # 4 138 29746    red     no 162.131.58.17
> > # 1 138 29746 yellow     no 162.131.58.26
> > 
> > 
> > Getting rid of the conversions including the matrix(unlist) combo is
> > left as an exercise (it's too hot here....)
> 
> Here's one way:
> 
> con <- textConnection(as.character(a$ip))
> o <- do.call(order,read.table(con,sep="."))
> close(con)
> a[o,]
> 
> 
> -- 
>    O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
>   c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
>  (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
> ~~~~~~~~~~ - (p.dalga...@biostat.ku.dk)              FAX: (+45) 35327907
> 
> ______________________________________________
> 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.

_________________________________________________________________

[[elided Hotmail spam]]
        [[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.

Reply via email to