确定r中集合背后的频率计数

时间:2018-08-28 05:42:07

标签: r

你好,晚上好,这很可能是一个非常简单的答案,我希望如此,这里什么也没做(如果我没有提供足够的信息,请提前道歉)..... 长话短说,我想弄清楚每个小组解决案件的平均时间以及他们解决了多少案件。要确定“ MTTR”,我这样做:

avgMttrFreq <- aggregate(db$CAL_MTTR_CALC2 ~ db$ASSIGNMENT_GROUP, db ,mean)
avgMttrFreq[order(-avgMttrFreq[,2]),]
avgMttrOrder <-avgMttrFreq[order(-avgMttrFreq[,2]),]
avgMttrOrderDf <- data.frame(avgMttrOrder)
avgMttrTopX <- avgMttrOrderDf[1:20,]
avgMttrTopX

输出看起来像这样: enter image description here

很酷...现在我们可以看到avg.mttr或每个组的平均解决时间(排序很重要),但是我需要能够添加“频率”列。 ....我的意思是,在第一行中要解决的3k小时后有多少观测值?关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:0)

data.table方式:

 <ul class="nav nav-tabs">
            <li class="active"><a data-toggle="tab" href="#Race">Race</a></li>
            <li><a data-toggle="tab" href="#sire">Sire</a></li>
        </ul>
        <div class="tab-content">
            <div id="race" class="tab-pane fade">
                @Html.Partial("~/Views/Racing/Race.cshtml", Model.clsRace)
            </div>
            <div id="sire" class="tab-pane fade">
                @Html.Partial("~/Views/Sire/Sire.cshtml", Model.clsSire)
            </div>

        </div>

优雅的Base R方式:

# example data
library(data.table)
data.table(
    group = sample(letters[1:3], 20, TRUE),
    time  = runif(20, 0, 10)
)

# or if your data are in a dataframe named 'df' convert to dt by:
dt <- as.data.table(df) #or just setDT(df)

# aggregate, creating 2 variables: avg_time and count
res <- dt[ , .(avg_time = mean(time), count = .N), by=group]

# print sorted result
res[order(avg_time, decreasing=TRUE)]

答案 1 :(得分:0)

希望这对您有帮助

library(data.table)
data <- data.table(db)
data[, list(count=length(CAL_MTTR_CALC2), mean=mean(CAL_MTTR_CALC2)), by=c("ASSIGNMENT_GROUP")]