R:如何在文件名的数据帧末尾添加多个变量
问题描述:
如果这是一个微不足道的问题,请道歉。我看到其他人喜欢它,如:How can I turn a part of the filename into a variable when reading multiple text files into R?,但我似乎仍然有一些麻烦...R:如何在文件名的数据帧末尾添加多个变量
我已经给50000.txt文件。每个文件包含一个具有12个变量(列数)的单个观察值(一行数据)。每个.txt文件的名称都相当常见。具体来说,每个.txt文件末尾都有一个代码,用于指示三维观察的类型。这个代码的例子是'VL-VL-NE'或'VL-M-N'或'H-H-L'(不包括撇号)。因此,文件名的例子可以是'I-love-using-R-20_01_2016-VL-VL-NE.txt'。
我的问题是,当我导入到R中时,我想在实际向量本身的.txt文件的末尾包含此代码,即,我想在其末尾添加三个变量(列)表格对应于文件名末尾的三部分代码。
任何帮助将不胜感激。
答
因为每个文件中的列数完全相同,为什么不使用循环查找特定目录中的所有.txt文件,将它们导入到R中?
df <- c()
for (x in list.files(pattern="*.txt")) {
u<-read.csv(x, skip=6)
u$Label = factor(x) #A column that is the filename
df <- rbind(df,u)
}
您会注意到文件名本身就成为一列。一旦一切进入R,使用regex
函数从文件名称列(df$Label
)中提取所需的确切元素应该相当容易。
我假设你有一些导入文本文件的代码?如果你有这个,它应该是一个简单的'regex'来获得文件名中的代码 – tospig