我在目录中有日志文件,我想从每个目录中生成图表。我编写了R函数来绘制图形并保存在jpg文件中。我的CSV文件命名为“_Par1_Par2_Par3_date.log”有什么方法可以让R代码中的Par1,Par2和Par3值用于某些计算?如果有帮助的话,它们都是整数。我想在一个命令中获取所有文件并生成图形,而不是为100个左右的文件中的每个文件提供单个命令。
答案 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匹配的文件名列表。
然后使用文字处理(grep
,gsub
,strsplit
,...)来提取组件。对于每个函数,StackOverflow都有很多例子。和手册页一样......