Изменение столбцов справа налево в тибле - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть таблица - чтение из файла Excel с именами столбцов на английском языке и некоторыми переменными на иврите. Когда я читаю файл Excel и получаю сообщение, имена столбцов не соответствуют данным.

Я использую следующий код для чтения таблицы:

excel_file <- file.path(the file path, the file)

tab_1 <- read_xlsx(excel_file)
tab_1

Результат, который я получаю:

# A tibble: 2 x 5
  case      a     b     c     d
  <chr> <dbl> <dbl> <dbl> <dbl>
1 שחור      3     2     1     4
2 אדום      2     5     2     3
>

Как изменить порядокимена столбцов? Я просмотрел все и не нашел решения.

Ответы [ 4 ]

2 голосов
/ 09 ноября 2019

Вы можете сделать это, указав индексы столбцов

Используя набор данных iris в качестве примера

Сначала перейдите на тиббл

iris2 <- iris %>% as_tibble()

Обратные столбцыуказав вручную по индексу столбца

iris2[,c(5,4,3,2,1)]

или сделать то же самое программно

iris2[,ncol(iris2):1]
0 голосов
/ 09 ноября 2019

Также можно использовать rev

library(dplyr)
mtcars %>%
    select(rev(names(.)))
0 голосов
/ 09 ноября 2019

Я обычно использую Tidyverse для управления контентом. Функция выбора - это чистая одиночная строка, которая обычно переворачивает столбцы df. Например,

library(tidyverse)
n <- ncol(mtcars)
mtcars2 <- select(mtcars, c(n:1))
0 голосов
/ 09 ноября 2019

Когда столбец становится шире (больше столбцов), ответ выглядит примерно так:

> tab_1 <- tab_1[,ncol(tab_1):1]
> print(tab_1)
# A tibble: 2 x 19
  result     q     p     o     n     m     l     k     j     i     h     g     f     e     d     c     b     a
  <chr>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 שחור       2     4     5     6     4     6     2     1     2     5     2     3     4     4     1     2     3
2 אדום       4     3     5     5     6     3     0     3     3     4     5     3     5     3     2     5     2
  case 
  <chr>
1 שחור 
2 אדום 
  • , возвращая имена столбцов первой части
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...