Improved R script to print a data frame with all data
authorGeorge Milescu <george.milescu@gmail.com>
Mon, 28 Feb 2011 20:14:19 +0000 (21:14 +0100)
committerGeorge Milescu <george.milescu@gmail.com>
Mon, 28 Feb 2011 20:14:19 +0000 (21:14 +0100)
Signed-off-by: George Milescu <george.milescu@gmail.com>
Utils/test-socket-signal/test/process/parse_timespan.R

index 438fd22..418829a 100644 (file)
@@ -4,20 +4,67 @@
 
 args <- commandArgs(trailingOnly = TRUE)
 
-input_file <- args[2]
+input_file_if <- args[2]
+input_file_stop <- args[3]
+input_file_suspend <- args[4]
 
-data <- read.table(input_file, sep=" ")
+data_if <- read.table(input_file_if, sep=" ")
+data_stop <- read.table(input_file_stop, sep=" ")
+data_suspend <- read.table(input_file_suspend, sep=" ")
+# data_* $ V1 = timestamp
+# data_* $ V2 = value
 
-index <- unique(data[1])
-l <- as.list(index[,])
-for (i in l) {
-       print(i)
-       data_subset <- data[data$V1 %in% i,]
-       values <- data_subset[2]
+timestamp_values <- unique(data_if$V1)
+
+mean_values_if = list()
+sd_values_if = list()
+rsd_values_if = list()
+
+for (timestamp in timestamp_values) {
+       data_subset_if <- data_if[data_if$V1 %in% timestamp,]
+       values <- data_subset_if$V2
+       m <- mean(values)
+       s <- sd(values)
+       rsd <- s / m * 100
+       
+       mean_values_if = c(mean_values_if, m)
+       sd_values_if = c(sd_values_if, s)
+       rsd_values_if = c(rsd_values_if, rsd)
+}
+
+
+mean_values_stop = list()
+sd_values_stop = list()
+rsd_values_stop = list()
+
+for (timestamp in timestamp_values) {
+       data_subset_stop <- data_stop[data_stop$V1 %in% timestamp,]
+       values <- data_subset_stop$V2
        m <- mean(values)
        s <- sd(values)
-       p <- s / m * 100
-       print(m)
-       print(s)
-       print(p)
+       rsd <- s / m * 100
+       
+       mean_values_stop = c(mean_values_stop, m)
+       sd_values_stop = c(sd_values_stop, s)
+       rsd_values_stop = c(rsd_values_stop, rsd)
 }
+
+
+mean_values_suspend = list()
+sd_values_suspend = list()
+rsd_values_suspend = list()
+
+for (timestamp in timestamp_values) {
+       data_subset_suspend <- data_suspend[data_suspend$V1 %in% timestamp,]
+       values <- data_subset_suspend$V2
+       m <- mean(values)
+       s <- sd(values)
+       rsd <- s / m * 100
+       
+       mean_values_suspend = c(mean_values_suspend, m)
+       sd_values_suspend = c(sd_values_suspend, s)
+       rsd_values_suspend = c(rsd_values_suspend, rsd)
+}
+
+all_data = data.frame(timestamps=timestamp_values, mean_if=unlist(mean_values_if), sd_if=unlist(sd_values_if), rsd_if=unlist(rsd_values_if), mean_stop=unlist(mean_values_stop), sd_stop=unlist(sd_values_stop), rsd_stop=unlist(rsd_values_stop), mean_suspend=unlist(mean_values_suspend), sd_suspend=unlist(sd_values_suspend), rsd_suspend=unlist(rsd_values_suspend))
+print(all_data)