У меня есть код R, который позволяет мне просматривать процентили. Код:
library(dplyr)
library(data.table)
# working directory
setwd("C:/Users/jdoe/Desktop/Scripts")
# reads the file
df <- fread("customer-stats.csv",
header = TRUE,
fill = TRUE,
sep = ",")
qs = df[AvgValue > 0, .(Samples = sum(Samples),
'50th' = quantile(AvgValue, probs = c(0.50)),
'99th' = quantile(AvgValue, probs = c(0.99)),
'99.9th' = quantile(AvgValue, probs = c(0.999)),
'99.99th' = quantile(AvgValue, probs = c(0.9999))),
by = .(Name, Address)]
setkey(qs, 'Name')
Я попробовал следующее:
qs = df[AvgValue > 0, .(Samples = sum(Samples),
'50th' = quantile(AvgValue, probs = c(0.50)),
'99th' = quantile(AvgValue, probs = c(0.99)),
'99.9th' = quantile(AvgValue, probs = c(0.999)),
'99.99th' = quantile(AvgValue, probs = c(0.9999)),
'Mean' = mean(AvgValue)),
by = .(Name, Address)]
setkey(qs, 'Name')
К сожалению, это создает отдельный выход для среднего значения. Я действительно хочу получить средний столбец, связанный с правой стороной процентили.
Как мне добавить средние, средние значения и значения стандартного отклонения в процентили?
Заранее спасибо!
РЕДАКТИРОВАТЬ: образец данных выглядит следующим образом:
Name Address AvgValue Samples
Exchange /main/UnitedStates 0 0
Exchange /main/UnitedStates 0 0
Exchange /main/England 0 0
Exchange /main/Japan 0 0
Exchange /main/England 9.567738524 23763
Exchange /main/Italy 9.479710598 60485
Exchange /main/France 0 0
Exchange /main/France 9.498684793 349349
Exchange /main/Italy 9.528628692 6968
Exchange /main/UnitedStates 0 0
Exchange /main/Spain 9.483226458 458945
Exchange /main/Sweden 9.502689957 908249
Exchange /main/Germany 9.673584266 31
Exchange /main/France 37.92883138 760