Hi, You could also try: library(plyr) ddply(mutate(sardat,sec=as.numeric(gsub(".*:(.*)\\..*$","\\1",sardat$V1))),.(sec), numcolwise(mean)) # sec V2 V3 V4 V5 V6 #1 46 15.00000 3.800000 11.200000 4.600000 17.80000 #2 47 14.28571 4.428571 9.857143 3.428571 16.85714 A.K.
On Tuesday, March 18, 2014 6:47 PM, Jim Lemon <j...@bitwrit.com.au> wrote: On 03/19/2014 02:26 AM, Satish Anupindi Rao wrote: > Hi, > ... > I would like to find the mean of the V2 to V6 columns on a per second > interval. Would anyone please be able to help me with a function and > implementation for that please? > Hi Satish, If you don't care about the location of the intervals, try this: sardat<-read.table(text="V0 V1 V2 V3 V4 V5 V6 2014-03-14 22:41:46.988804 10 2 8 3 14 2014-03-14 22:41:46.991126 13 4 9 5 15 2014-03-14 22:41:46.993506 12 4 8 3 14 2014-03-14 22:41:46.993755 19 4 15 5 22 2014-03-14 22:41:46.997780 21 5 16 7 24 2014-03-14 22:41:47.000154 18 5 13 3 21 2014-03-14 22:41:47.002376 21 5 16 6 23 2014-03-14 22:41:47.011106 12 4 8 3 14 2014-03-14 22:41:47.012691 12 4 8 3 16 2014-03-14 22:41:47.017579 11 2 9 3 12 2014-03-14 22:41:47.019463 12 5 7 3 15 2014-03-14 22:41:47.020247 14 6 8 3 17", header=TRUE,stringsAsFactors=FALSE) getsec<-function(x) { unlist(strsplit(unlist(strsplit(x,":"))[3],"[.]"))[1] } sardat$sec<-sapply(sardat$V1,getsec) sapply(sardat[,c("V2","V3","V4","V5","V6")],by,sardat$sec,mean) Jim ______________________________________________ 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. ______________________________________________ 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.