0

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

4

2 回答 2

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"

然后您可以将这些值读入数据框中,然后从那里制作图表。

于 2013-09-03T22:15:55.217 回答
0

当然。

利用

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

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

然后使用文本处理 ( grep, gsub, strsplit, ...) 提取组件。对于这些功能中的每一个,StackOverflow 都有很多示例。和手册页一样...

于 2013-09-03T21:51:35.357 回答