Как выбрать два отдельных столбца из файла .xlsx, используя пакет 'readxl'? - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть файл .xlsx, который содержит 28 столбцов. Из них я sh выберу только номера столбцов 3 («Продавец») и 28 («Идентификатор клиента»). Я попробовал следующие два кода, но ни один из них, кажется, не работает. Скажите, пожалуйста, что я делаю не так:

read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c("Salesperson","Customer ID"))

ИЛИ

read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c(3,28))

И я получаю следующую ошибку при использовании первого кода

Error: Sheet 4 has 28 columns (28 unskipped), but `col_names` has length 2

Во втором коде я получаю все столбцы с 3 по 28, а не только с 3 и 28.

Я знаю, что могу выбрать определенные c столбцы позже, используя select(), но я хотел чтобы знать, как мне указать это непосредственно в функции read_xlsx(). Также дайте мне знать, если есть лучший способ достичь этого.

Спасибо!

1 Ответ

0 голосов
/ 13 февраля 2020

Для этого можно использовать следующий код

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")
library(xlsx)
read.xlsx("Active List till 7 Feb .xlsx", sheetName = "Raw data", colIndex = c(3,28))

или

Решение с использованием openxlsx пакета

library(openxlsx)
read.xlsx("Active List till 7 Feb .xlsx", sheet = "Raw data", cols = c(3,28))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...