Для преобразования из десятичного числа для преобразовывания в шестнадцатеричную систему делают...
string hexValue = decValue.ToString("X");
Для преобразования от шестнадцатеричного числа в десятичное число делают также...
int decValue = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
или
int decValue = Convert.ToInt32(hexValue, 16);
Считайте ваши данные и преобразуйте их в объект зоопарк :
R> X <- read.csv("/tmp/so.csv")
R> X <- zoo(X$Count, order.by=as.POSIXct(as.character(X[,1])))
Обратите внимание, что при этом будут отображаться предупреждения из-за неуникальных временных меток.
Задача 1 с использованием агрегат
с длиной
для подсчета:
R> aggregate(X, force, length)
2009-07-20 16:30:45 2009-07-20 16:30:46 2009-07-20 16:30:47
2 3 1
Задача 2 с использованием агрегата
:
R> aggregate(X, force, mean)
2009-07-20 16:30:45 2009-07-20 16:30:46 2009-07-20 16:30:47
12.500 7.333 20.000
Задача 3 может быть выполнена таким же образом путем агрегирования до более высокого порядка индексы. Вы можете вызвать plot
для результата агрегата:
plot(aggregate(X, force, mean))
Усреднение данных легко с помощью пакета plyr.
library(plyr)
Second <- ddply(dataset, "Timestamp", function(x){
c(Average = mean(x$Count), N = nrow(x))
})
Сделать то же самое по минутам или час, то вам нужно добавить поля с этой информацией.
library(chron)
dataset$Minute <- minutes(dataset$Timestamp)
dataset$Hour <- hours(dataset$Timestamp)
dataset$Day <- dates(dataset$Timestamp)
#aggregate by hour
Hour <- ddply(dataset, c("Day", "Hour"), function(x){
c(Average = mean(x$Count), N = nrow(x))
})
#aggregate by minute
Minute <- ddply(dataset, c("Day", "Hour", "Minute"), function(x){
c(Average = mean(x$Count), N = nrow(x))
})