请求用户识别文件位置并从R中的文件位置自动提取变量名称

时间:2011-12-02 22:33:44

标签: r title

我非常喜欢R和编程,所以感谢您的耐心等待。

我正在尝试编写一个脚本,该脚本从.txt文件读取值,并在一些操作后绘制结果。我有两个问题有点耦合。

首先,是否有一个功能要求用户识别文件的位置?即用户运行脚本。脚本打开文件导航提示并请求用户导航并选择相关文件。

目前,我必须在R中手动识别文件和位置,例如

  

spectra.raw< - read.table(“C:\ Users \ ... \ file1.txt”,row.names = NULL,header = TRUE)

每次运行脚本时,我宁愿让用户识别文件位置。这将由非技术人员使用,我不相信他们将文件位置复制/粘贴到R。

我一直在努力解决的第二个问题是,是否可以根据所选文件创建变量名称?例如,如果用户选择“file1.txt”,我希望R将read.table()的输出分配给名为“file1.raw”的变量,就像上面的“spectra.raw”

一样。

如果有帮助,所有文件名将具有完全相同的字符数,因此如果可以从文件位置选择最后说的5个字符,那就可以了。

非常感谢,请原谅我的无知。

2 个答案:

答案 0 :(得分:4)

  1. 请参阅file.choose。虽然我认为它在不同平台上的表现略有不同,但要注意这一点。

  2. 请参阅assign,即assign("fileName",value)。您需要使用file.choosesubstr等字符串操作函数来解析strsplit吐出的文件路径。

答案 1 :(得分:3)

尝试

file.choose

我认为它可以做你想要的。

例如,

myfile <- file.choose()
Enter file name: adataset.Rdata
load(myfile)

myfile包含文件的名称,因此您无需执行任何特殊操作。