Извлечь столбцы по диапазону и имени - R - PullRequest
0 голосов
/ 23 мая 2018

Предположим, что df с 50 столбцами, с именами от Col_1 до Col_50.

Я пытаюсь извлечь столбцы по имени и диапазону, например:

x <- df[,c("Col_1", "Col_3", "Col_7", "Col_8", "Col_12",
  which(colnames(df)=="Col_15"):which(colnames(df)=="Col_26"),
  which(colnames(df)=="Col_34"):which(colnames(df)=="Col_42"))]

Это работает, если я использую только имена или просто диапазон индексов, но когда я использую оба вместе, это дает ошибку «неопределенные выбранные столбцы».

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Предположим, что позиция Col_1 - Col_50 не последовательная и не точная 1st-50th позиция, тогда параметр в base-R может быть следующим:

df[paste("Col",c(1, 3, 7, 8, 12, 15:26, 34:42), sep = "_")]
0 голосов
/ 23 мая 2018

Мы можем использовать select от tidyverse

library(tidyverse)
df %>%
   select(Col_1, Col_3, Col_7, Col_8, Col_12, col_15:col_26, col_34:col_42)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...