normalizedip <- function(ipstring){ ipsepstring <- strsplit(ipstring,"\\.")[[1]] cat(sapply(ipsepstring,function(x) sprintf("%03i",as.numeric(x))),sep=".") }
normalizedip("1.2.3.55") yields "001.002.003.055" and therefore should allow you to sort in correct order. edwin Sendjaja wrote: > Hi, > > Is there any way to sort a tabel with a colum with IP-address? > > table: > > id rank color status ip > 138 29746 yellow no 162.131.58.26 > 138 29746 red yes 162.131.58.16 > 138 29746 blue yes 162.131.58.10 > 138 29746 red no 162.131.58.17 > 138 29746 yellow no 162.131.58.14 > 138 29746 red no 162.131.58.13 > 138 29746 yellow no 162.132.58.15 > 139 29746 green no 162.252.20.69 > 140 29746 red yes 162.254.20.71 > 141 29746 yellow no 163.253.7.153 > 142 31804 green yes 163.253.20.114 > 144 32360 black yes 161.138.45.226 > .... > > > Unfortunately, order doesn't work as I want. > > I found an half solusion from John: > > mysort <- function(x){ > sort.helper <- function(x){ > prefix <- strsplit(x, "[0-9]") > prefix <- sapply(prefix, "[", 1) > prefix[is.na(prefix)] <- "" > suffix <- strsplit(x, "[^0-9]") > suffix <- as.numeric(sapply(suffix, "[", 2)) > suffix[is.na(suffix)] <- -Inf > remainder <- sub("[^0-9]+", "", x) > remainder <- sub("[0-9]+", "", remainder) > if (all (remainder == "")) list(prefix, suffix) > else c(list(prefix, suffix), Recall(remainder)) > } > ord <- do.call("order", sort.helper(x)) > x[ord] > } > > > mysort (data$ip) captured only the ip-adresse. How can I capture the whole > table and sorted?(ID rank color status ip) > > > > Thank you in advance. > > eddie > > > > _________________________________________________________________ > > > [[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. > > -- Erich Neuwirth, University of Vienna Faculty of Computer Science Computer Supported Didactics Working Group Visit our SunSITE at http://sunsite.univie.ac.at Phone: +43-1-4277-39464 Fax: +43-1-4277-39459 ______________________________________________ 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.