【发布时间】:2018-02-15 09:16:26
【问题描述】:
我有以下包含文件列表的数据框。
library(tidyverse)
dat <- structure(list(source_file = structure(c("data/monroe_20180214/180131 WT PB d5/PB x10_01.tif",
"data/monroe_20180214/180131 WT PB d5/PB x10_02.tif", "data/monroe_20180214/180131 WT PB d5/PB x10_03.tif",
"data/monroe_20180214/180131 WT PB d5/PB x10_04.tif", "data/monroe_20180214/180131 WT PB d5/PB x10_05.tif",
"data/monroe_20180214/180131 WT PB d5/PB x10_06.tif"), class = c("fs_path",
"character"))), .Names = "source_file", row.names = c(NA, -6L
), class = c("tbl_df", "tbl", "data.frame"))
dat
#> # A tibble: 6 x 1
#> source_file
#> <chr>
#> 1 data/monroe_20180214/180131 WT PB d5/PB x10_01.tif
#> 2 data/monroe_20180214/180131 WT PB d5/PB x10_02.tif
#> 3 data/monroe_20180214/180131 WT PB d5/PB x10_03.tif
#> 4 data/monroe_20180214/180131 WT PB d5/PB x10_04.tif
#> 5 data/monroe_20180214/180131 WT PB d5/PB x10_05.tif
#> 6 data/monroe_20180214/180131 WT PB d5/PB x10_06.tif
我想要做的是创建第二列new_filename,方法是将前两个目录路径替换为新路径pooled/,并将空格替换为.,反斜杠替换为__。我怎样才能做到这一点?
想要的结果是
source_file new_filename
1 data/monroe_20180214/180131 WT PB d5/PB x10_01.tif pooled/180131.WT.PB.d5__PB.x10_01.tif
2 data/monroe_20180214/180131 WT PB d5/PB x10_02.tif ...
3 data/monroe_20180214/180131 WT PB d5/PB x10_03.tif .etc.
4 data/monroe_20180214/180131 WT PB d5/PB x10_04.tif
5 data/monroe_20180214/180131 WT PB d5/PB x10_05.tif
6 data/monroe_20180214/180131 WT PB d5/PB x10_06.tif
【问题讨论】: