Извлечь все значения из вектора именованных чисел с тем же именем в R

Я пытаюсь обработать вектор именованных чисел впервые в R. Сам вектор называется p.values. Он состоит из p-значений, названных в честь соответствующих им переменных. Путем моделирования я получил огромное количество p-значений, которые всегда называются как одна из пяти переменных, которым они соответствуют. Однако меня интересуют p-значения только одной переменной, и я попытался извлечь их с помощью p.values[[var_a]], но это дает мне только p-значение последней записи var_a. p.values$var_a недействителен, и as.numeric(p.values) или unname(p.values) явно дает только все мои значения без имен. Любая идея, как я могу заставить R дать мне 1/5 именованных чисел, которые называются var_a?

Краткий пример:

p.values <- as.numeric(c(rep(1:5, each = 5)))
names(p.values) <- rep(letters[1:5], 5)
str(p.values)
   Named num [1:25] 1 1 1 1 1 2 2 2 2 2 ...
 - attr(*, "names")= chr [1:25] "a" "b" "c" "d" ...

Я хочу, чтобы R показал мне все 5 чисел с именем a.

Спасибо, что прочитали мой первый пост здесь, и я надеюсь, что некоторые более опытные пользователи R знают, как работать с именованными числами, и могут помочь мне с этой проблемой.


person Alina    schedule 26.05.2021    source источник


Ответы (1)


Вы можете подмножить p.values, используя [ с names(p.values) == "a", чтобы отобразить все значения с именем a.

p.values[names(p.values) == "a"]
#a a a a a 
#1 2 3 4 5 
person GKi    schedule 26.05.2021
comment
Большое спасибо! - person Alina; 26.05.2021