Назад | Перейти на главную страницу

Легкая альтернатива R для RHEL?

Я хочу использовать R для некоторого статистического анализа информации файла журнала, но обнаружил, что даже "ограниченный" RPM R-core имеет множество еще не установленных зависимостей. Я не хочу устанавливать так много пакетов для периферийных нужд.

Есть ли облегченные альтернативы для простого статистического анализа в RHEL 6? У меня есть сценарий R, который принимает на стандартный ввод большой набор значений - по одному значению в строке - и распечатывает минимальное, максимальное, среднее, медианное значение, 95-й процентиль и стандартное отклонение.

Для большего контекста я использую grep и awk, чтобы найти запросы GET для определенного пути в наших файлах журнала веб-сервера, получить время отклика и вычислить показатели, перечисленные выше, чтобы измерить влияние на производительность изменений в веб-приложении. .

Мне не нужны никакие возможности построения графиков, только простые вычисления. Я что-то упустил?

Вот минимальное, максимальное, общее, среднее и медианное значение в awk:

BEGIN {
    min="unset"
    max=0
}


{
    values[NR] = $1

    total += $1
    average = total/NR

    if ($1 > max) max = $1
    if (min == "unset" || $1 < $min) min = $1
}

END {
    median=values[int(NR/2)]

    print "MIN:", min
    print "MAX:", max
    print "TOTAL:", total
    print "MEAN:", average
    print "MEDIAN:", median
}

Стандартное отклонение и 95-й процентиль оставлены читателю в качестве упражнения.

Используйте питон NumPy пакет, который вы сможете легко установить с помощью yum install numpy или pip install numpy:

import numpy
n = numpy.random.rand(100)
print 'min:', n.min()
print 'max:', n.max()
print 'mean:', n.mean()
print 'median:', numpy.median(n)
print '95th:', numpy.percentile(n, 95)
print 'stddev:', n.std()

Это избавит вас от повторного внедрения базовой статистики с нуля. В общем, Python с NumPy и SciPy это многофункциональная альтернатива R, которая также часто имеет лучшая производительность.

Кроме того, вместо того, чтобы писать собственный файл журнала, анализируйте с помощью grep и awk вы можете использовать что-то вроде: pylogsparser которая представляет собой «библиотеку парсеров журналов, упакованную с набором готовых к использованию парсеров (DHCPd, Squid, Apache, ...)».

Любой язык программирования / сценариев, такой как Perl, Python или Ruby, сделает это легко, и bc также доступен.