次のパターンの部分文字列のリストがあります。
my.list <- list("file1\\subfile1-D.ext", "file12\\subfile9-D.ext", "file2\\subfile113-D.ext")
等々。ファイル番号とサブファイル番号を、ファイル/サブファイル番号を含む数値データフレームに抽出したいと思います。これまで、私は次のアプローチを使用してきました。
extract.file <- function(file.name){
file.name <- sub("file", "", file.name)
file.name <- sub("\\\\*subfile.*", "", file.name)
}
extract.subfile <- function(subfile.name){
subfile.name <- sub("file.*subfile", "", subfile.name)
subfile.name <- sub("-D.ext", "", subfile.name)
}
name.file <- lapply(my.list, extract.file)
name.file <- as.numeric(unlist(name.file))
name.subfile <- lapply(my.list, extract.subfile)
name.subfile <- as.numeric(unlist(name.subfile))
my.df <- data.frame(file=name.file, subfile=name.subfile)
substring.location
また、最初にライブラリから文字列の場所を抽出しstringr
(これにより、開始値と終了値を持つ別のリストが生成されます)、次に2つのリストをループすることも試しましたが、これも複雑になりすぎます。目標を達成するためのより良い方法はありますか?