TLDR :如何从列表中获取 nth 元素以将其用作函数的输入。
我每天在邮件中收到三个不同的excel文件:Ayyyymmdd.xls
,Byyyymmdd.xls
和Cyyyymmdd.xls
(文件名每天都会更改;“ yyyy ”是年份,“ mm ”是月,“ dd ”是日)。
我需要在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()
等。
答案 0 :(得分:2)
它是一个list
,因此我们需要[[
来提取list
元素。 [
仍然是list
1的length
read.xls(files[[1]], sheet = 1)
我们可以使用str
或通过在控制台中键入差异来找到差异
files[1]
#[[1]]
#[1] "A20180829.xls"
files[[1]]
#[1] "A20180829.xls"