Использование n-го элемента из списка в качестве входных данных для функции - PullRequest
0 голосов
/ 30 августа 2018

TLDR : как извлечь элемент nth из списка, чтобы использовать его как вход для функции.

Я получаю три разных файла Excel в своей почте каждый день: Ayyyymmdd.xls, Byyyymmdd.xls и Cyyyymmdd.xls (имена файлов меняются каждый день; " гггг " - это год ", мм"- месяц, а" дд"- день).

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

files <- as.list(c("A20180829.xls", "B20180829.xls", "C20180829.xls")

Теперь мне нужно прочитать все три файла отдельно (использование lapply работает, но я хочу ссылаться только на один элемент за раз). К сожалению, следующая команда не работает:

Atoday <- read.xls(files[1], sheet = 1)            # Doesn't work
Atoday <- read.xls("A20180829.xls", sheet = 1)     # Works

Моя главная задача - как взять элемент nth из списка, чтобы использовать его в качестве входных данных для функции. Функция не должна быть read.xls, для меня все равно, это может быть read.csv(), fread() и т. Д.

1 Ответ

0 голосов
/ 30 августа 2018

Это list, поэтому нам нужно [[, чтобы извлечь элемент list. [ по-прежнему list из length 1

read.xls(files[[1]], sheet = 1)

Мы можем найти разницу с помощью str или набрав ее в консоли

files[1]
#[[1]]
#[1] "A20180829.xls"

files[[1]]
#[1] "A20180829.xls"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...