我正在读取文件夹中的一堆文件,将它们合并到一个数据框中,然后将该数据框保存在该文件夹的“外部”。 E.g。
# path to folder that contains files to read in:
path <- "/path/to/folder"
# read in files
files <- list.files(path, pattern = "*.csv", full.names = TRUE)
# do stuff with files
...
# safe data frame
path.2 <- "/path/to/"
write.csv2(paste0(path.2, "dat.csv"), dat)
没有汗水。
但我希望能够更改变量path
的值,而无需手动更改path.2
的值。我想自动分配path.2
path
的值,减去文件夹名称,而不必告诉R该文件夹的名称。也就是说,我需要修剪path
中字符串右端的所有字符,直到文件分隔符(“/").
伪代码:
path <- "/path/to/folder"
path.2 <- rtrim(path, to = "/")
path.2
[1] "/path/to/"
我怎么能这样做?
答案 0 :(得分:0)
这样的事情:
path <- "/path/to/folder"
paste(head(unlist(strsplit(path, "/", fixed = TRUE)), -1), collapse = "/")
# [1] "/path/to"
答案 1 :(得分:0)
使用sub
,
sub('/([^/]*)$', '', path)
#[1] "/path/to"
或使用str_extract
包中的stringr
str_extract(path, '^(?:[^/]*/){3}')
#[1] "/path/to/"