У меня есть набор данных ниже, и это данные о задержке движения для нескольких дорог.Я хотел бы получить сводный отчет по каждой дороге, в которой разделены «День» и «Время» и рассчитаны процентили 5% и 95%.
Вот набор данных:
my.data <- read.table(text = '
Name Day Time Delay
road1 1 7 10
road1 1 7 11
road1 1 7 12
road1 2 8 10
road1 3 9 11
road2 1 7 12
road2 2 8 10
road3 1 7 11
road3 1 7 12
road3 3 9 13
', header = TRUE, stringsAsFactors = FALSE, na.strings = 'NA')
и я хотел бы получить такой отчет:
# result:
# Name Day Time Delay_5% Delay_95%
# road1 1 7 10 12
# road1 2 8 10 10
# road1 3 9 10 11
# road2 1 7 12 12
# road2 2 8 10 10
# road3 1 3 11 12
# road3 3 9 13 13
Я кодировал, используя приведенный ниже скрипт, но он не дает мне желаемого результата:
my.data <- read.table(text = '
Name Day Time Delay
road1 1 7 10
road1 1 7 11
road1 1 7 12
road1 2 8 10
road1 3 9 11
road2 1 7 12
road2 2 8 10
road3 1 7 11
road3 1 7 12
road3 3 9 13
', header = TRUE, stringsAsFactors = FALSE, na.strings = 'NA')
my.summary <- with(my.data, aggregate(list(Delay), by = list(Day,Time),
FUN = function(x) { road.percentile = quantile(x,c(0.05,0.95),na.rm = TRUE) } ))
my.summary <- do.call(data.frame, my.summary)
colnames(my.summary) <- c('Day', 'Rate')
my.summary
my.data <- merge(my.data, my.summary, by = ('Day',"Time"))
my.data
ИнтересноКто-нибудь может решить эту проблему?Очень ценится!