我有一个文件,其中包含指向URL的路径列表以及类似于以下摘录的文件:
urls_queries_files.R
url_some_dta <- "url_goes_here"
backup_some_dta <- "path to the backup rds file goes here"
url_exotic_dta <- "another_url"
backup_exotic_dta <- "some backup rds file"
url_mysterious_dta <- "url goes here"
backup_mysterious_dta <- "backup rds file for myst. dta"
我正在通过source
命令读取这些文件:
source(file = "urls_queries_files.R", local = TRUE)
当我列出对象时,对象按字母顺序显示:
> ls()
[1] "backup_exotic_dta" "backup_mysterious_dta" "backup_some_dta" "url_exotic_dta"
[5] "url_mysterious_dta" "url_some_dta"
这是有问题的,因为我有兴趣按照它们在原始文件(urls_queries_files.R)中列出的顺序读取这些对象。原因是我想草拟一个简短的脚本,在成功下载URL后会创建备份rds
文件。我将起草一个简单的循环,使用第一个对象的值执行下载,如果成功保存rds
文件(rds
文件和URLs
稍后用于填充数据帧)。所有这一切都相当简单,但如果我能够以原始文件中列出的方式引用对象,那将会更加简单。我可以简单地说:
all_objs <- ls()
并按以下方式进行操作:all_objs[i]
和all_objs[i+1]
。排序设置为ls
的{{1}}似乎也不会返回所需的结果:
FALSE
我的问题是:
> ls(sorted = FALSE)
[1] "url_mysterious_dta" "url_exotic_dta"
[3] "backup_mysterious_dta" "backup_exotic_dta"
[5] "url_some_dta" "backup_some_dta"
运行ls
似乎返回的列表与源文件中输入的内容不对应。因此,我想知道 sorted = FALSE
命令如何确定哪个对象首先出现在列表中?答案 0 :(得分:1)
在没有明确记录文件本身的顺序之后,无法获取变量定义的顺序。一种方法是将变量放在list
。