Не удается получить диапазон для получения результата в функции tapply - PullRequest
0 голосов
/ 12 февраля 2020

только начал изучать R, но я не могу получить диапазон для получения результата в этой функции tapply. Я могу получить возраст и результаты аффилирования, но не R, как показано ниже.

ages <- c(25,26,37,56,42,25)

affill <- factor(c("U", "R", "R","D", "D", "U"))

tapply(ages, affill , range)

$D
[1] 42 56

$R
[1] 26 37

$U
[1] 25 25

1 Ответ

0 голосов
/ 12 февраля 2020

Вы ищете что-то подобное?

ages <- c(25,26,37,56,42,25)

affill <- factor(c("U", "R", "R","D", "D", "U"))

my_range <- function(x, na.rm = TRUE) {
  max(x, na.rm = na.rm) - min(x, na.rm = na.rm)
}

tapply(ages, affill , my_range)
# D  R  U 
# 14 11  0

Вы можете создать свою собственную пользовательскую функцию, которая вычисляет диапазон числового вектора, вместо того, чтобы возвращать диапазон по умолчанию в R.

...