R中的基本输入文件名解析

时间:2013-09-03 21:42:08

标签: r parsing

我在目录中有日志文件,我想从每个目录中生成图表。我编写了R函数来绘制图形并保存在jpg文件中。我的CSV文件命名为“_Par1_Par2_Par3_date.log”有什么方法可以让R代码中的Par1,Par2和Par3值用于某些计算?如果有帮助的话,它们都是整数。我想在一个命令中获取所有文件并生成图形,而不是为100个左右的文件中的每个文件提供单个命令。

2 个答案:

答案 0 :(得分:1)

读入所需的所有文件后,您可以使用str_extract()str_extract_all之类的内容与stringr包中的模式匹配来从文件名中提取项目:

> teststring <- "_2342_2773_23452_date.log"
> library(stringr)
> str_extract_all(teststring, "([0-9]+)")

[[1]]
[1] "2342"  "2773"  "23452"

> str_extract_all(teststring, "([0-9]+)")[[1]][1]

[1] "2342"

然后你可以将这些值读入数据框,然后从那里开始绘制图表。

答案 1 :(得分:0)

当然。

使用

 path <- file.path(root, dir1, dir2)   # portable
 files <- list.files(path, pattern="*_Par1_Par2_Par3_date.log", full.names=TRUE)

获取与您的patterm匹配的文件名列表。

然后使用文字处理(grepgsubstrsplit,...)来提取组件。对于每个函数,StackOverflow都有很多例子。和手册页一样......