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