我想设置一个基于菜单的功能,该功能将为用户提供在目录中找到的文件列表,询问他们要加载哪个文件,然后将该文件作为新对象加载。
就代码的外观而言,这是我最好的尝试,让您了解我在寻找什么:
#Step 1: First create list of files arranged by date created
F<-file.info(list.files("./myfiles",pattern=".csv",full.names=TRUE))
#Order files according to date created, most recent first
F<-F[with(F, order(as.POSIXct(mtime))), ]
Files<-rownames(F)
#Step 2: Offer menu to user
Choose<-menu(Files,title="Choose which File to Load")
#Step 3: Use result of menu to load file
New_File<-read.csv(*result from menu*)
显然我上面的虚构代码存在一些问题:
1- 我需要使用 full.names=TRUE 才能在我的工作目录中的子文件夹上使用 file.info。这很好用,但是当我最终使用菜单命令的行名时 - 菜单列表变得混乱。如果我在工作目录中的一系列子文件夹中工作,则会打印整个字符串,而不仅仅是文件名(单独的文件名是理想的)。
2- 我认为我已经设置了排序,最近的文件在列表的最后(我首先想要它们)
3-最后,最重要的是,我不知道使用菜单选择的结果将 .csv 文件加载到新的 R 对象中