我有一个R代码,如下所示:
files <- list.files(get_directory())
files <- files[grepl("*.dat$", files)]
files
其中get_directory()
是我编写的返回当前目录的函数。因此,我将在我想要的目录中获取扩展名为.dat
的所有文件。但是,我的文件名如下:
2^5-3^3-18-simul.dat
2^5-3^3-18-uniform.dat
2^7-3^4-33-simul.dat
2^7-3^4-33-uniform.dat
...
所以,现在我想根据第一部分创建2组,所以我希望2^5-3^3-18-simul.dat
和2^5-3^3-18-uniform.dat
是一个组,另外两个文件是一个组等等。在稍后阶段,我需要循环遍历所有组,并使用在同一组中的两个文件。由于返回的文件名已经被排序,所以我认为这里不需要一些花哨的模式匹配,我只需要像前面提到的那样将字符串向量的元素一分为二。
发布于 2018-04-12 13:11:42
我们可以使用sub
创建一个分组变量来拆分“文件”
split(files, sub("-[a-z].*", "", files))
#$`2^5-3^3-18`
#[1] "2^5-3^3-18-simul.dat" "2^5-3^3-18-uniform.dat"
#$`2^7-3^4-33`
#[1] "2^7-3^4-33-simul.dat" "2^7-3^4-33-uniform.dat"
数据
files <- c("2^5-3^3-18-simul.dat", "2^5-3^3-18-uniform.dat",
"2^7-3^4-33-simul.dat", "2^7-3^4-33-uniform.dat")
https://stackoverflow.com/questions/49797461
复制相似问题