Объединить векторы неравной длины в кадр данных и наложение - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь объединить векторы неравной длины в кадр данных, а затем сложить их так, чтобы я мог выполнить тест ANOVA на нем.Мои векторы:

Age_0_11 <- c(17.2, 18.4, 17.9, 16.6, 19.0, 18.3, 13.6, 13.5, 18.5, 19.1, 19.1, 13.4)
Age_12_24 <- c(14.8, 17.6, 18.3, 17.2, 10.0, 11.3, 10.2, 17.0, 18.9, 19.2)
Age_25_45 <- c(18.4, 13.0, 14.8, 18.4, 12.8, 17.6, 18.8, 17.9, 18.5, 17.5, 18.3, 15.2, 10.8, 19.8, 17.3, 19.2, 15.4, 13.2)
Age_45plus <- c(15.5, 18.2, 12.7, 15.1, 18.2, 18.0, 14.4, 10.2, 16.7)

И я хочу, чтобы они выглядели примерно так:

   Ratio         Age
1   17.2        0-11
2   18.4        0-11
          ...
    19.2       12-24
    18.4       25-45
          ...

Я знаю, что могу объединить векторы в кадр данных, но все лишние значения будутбыть заполненным

1 Ответ

0 голосов
/ 04 октября 2018

Основной вариант R - хранить векторы в list, а затем использовать stack

lst <- list(
    Age_0_11 = Age_0_11,
    Age_12_24 = Age_12_24,
    Age_25_45 = Age_25_45,
    Age_45plus = Age_45plus)
setNames(stack(lst), c("Ratio", "Age"))
#   Ratio        Age
#1   17.2   Age_0_11
#2   18.4   Age_0_11
#3   17.9   Age_0_11
#4   16.6   Age_0_11
#5   19.0   Age_0_11
#6   18.3   Age_0_11
#7   13.6   Age_0_11
#8   13.5   Age_0_11
#9   18.5   Age_0_11
#...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...