как изменить имена столбцов с первой строкой данных в цепочке dplyr - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь переименовать имена столбцов с первой строкой данных.

использовать данные первой строки в качестве имен столбцов в r

использовать%>% с функциями замены, такими как colnames () <- </a>

Проблема, с которой я сталкиваюсь, заключается в том, что, выполняя этот процесс без нарушения dplyr pipeline, я хотел бы продолжить делать некоторые другие вещи после переименования столбцов.

В этом посте есть комментарий о функции renamedplyr :: rename может быть более удобным, если вы только (пере) называете несколько из многих столбцов (для этого нужно написать как старое, так и новое имя; см. ответ @Richard Scriven)

Однако в моемВ реальных данных количество столбцов не фиксировано, и поэтому мне нужно использовать что-то вроде выбора столбцов select(X9:max(ncol(.)))

df <- data.frame(replicate(10,sample(100,2,rep=TRUE)))


  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 77 40 45 98 75 17  5 33 53  94
2 43 67 82 42 63 90 14 65  4  98

library(dplyr)
df1 <- df %>%
  select(X8,X9,X10)%>%
  ....

ожидаемый результат после выбора и переименования столбцов

  33 53  94
1 65  4  98

1 Ответ

0 голосов
/ 31 мая 2018
set.seed(502)
df <- data.frame(replicate(10, sample(100, 2, rep=TRUE)))

> df
  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 79  6 82 23 36 58 95 30 60  42
2 89 77  9 13 79 97  1 10 48  66

В базе R мы можем сделать

df1 <- "colnames<-"(df[2 , x <- paste0("X", 8:10)], df[1, x])

> df1
  30 60 42
2 10 48 66
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...