Hi,
Not sure if there is an R way to do this or a regular express way,
but here is what I am trying to do.
I've got lots of data where the format is HH:MM:SS, but I need to
format it like HH:MM:00, i.e. round the second down to zero.
What is the best way to do this?
Probably not the best way, but here's one way to do it, step by step:
R> a <- rep("HH:MM:SS", 5)
R> a
[1] "HH:MM:SS" "HH:MM:SS" "HH:MM:SS" "HH:MM:SS" "HH:MM:SS"
R> b <- strsplit(a, ":")
R> b
[[1]]
[1] "HH" "MM" "SS"
[[2]]
[1] "HH" "MM" "SS"
[[3]]
[1] "HH" "MM" "SS"
[[4]]
[1] "HH" "MM" "SS"
[[5]]
[1] "HH" "MM" "SS"
R> b2 <- lapply(b, function(pieces) c(pieces[1:2],"00"))
R> b2
[[1]]
[1] "HH" "MM" "00"
[[2]]
[1] "HH" "MM" "00"
[[3]]
[1] "HH" "MM" "00"
[[4]]
[1] "HH" "MM" "00"
[[5]]
[1] "HH" "MM" "00"
R> a2 <- sapply(b2, paste, collapse=':')
R> a2
[1] "HH:MM:00" "HH:MM:00" "HH:MM:00" "HH:MM:00" "HH:MM:00"
HTH,
-steve
--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
______________________________________________
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.