Создать матрицу из функций - PullRequest
1 голос
/ 17 октября 2019

Пока не могу найти решение ... У меня есть фрейм данных X из 7 столбцов. Я хочу получить статистические данные из столбцов 6 и 7, которые собраны в матрице. Я хотел бы использовать одну строку кода для этой проблемы. Мне нужна функция, которая берет столбцы 6 и 7 кадра данных X и вычисляет среднее значение, var, sd, ...

Я использовал следующий код:

matrix(c(mean(X$6), mean(X$6, trim = 0.05), var(X$6), sd(X$6),
         mean(X$7), mean(X$7, trim = 0.05), var(X$7), sd(X$7)),
         nr = 4, dimnames = list(c("mean", "meanTrim", "var", "sd"), 
                                 c("WorkTime", "TransTime")))

Itработает, но, кажется, довольно неловко. Вы знаете более короткое решение?

1 Ответ

0 голосов
/ 17 октября 2019

Вы можете сделать что-то вроде:

Y <- sapply(X[, 6:7], function(i) c(mean(i), mean(i, trim = 0.05), var(i), sd(i)))
dimnames(Y) <- list(c("mean", "meanTrim", "var", "sd"), c("WorkTime", "TransTime"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...