如何在R中的特定in目录中插入文本

如何在R中的特定in目录中插入文本,r,text,replace,insert,qdapregex,R,Text,Replace,Insert,Qdapregex,我正在寻找一种优雅的方式插入字符(名称)到目录中,并创建.csv文件。我找到了一个可能的解决方案,但是我正在寻找另一个,没有“替换”,而是在特定字符之间“插入”文本 #lets start df <-data.frame() name <- c("John Johnson") dir <- c("C:/Users/uzytkownik/Desktop/.csv") #how to insert "name" vector between "Desktop

我正在寻找一种优雅的方式插入字符(名称)到目录中,并创建.csv文件。我找到了一个可能的解决方案,但是我正在寻找另一个,没有“替换”,而是在特定字符之间“插入”文本

#lets start
    df <-data.frame()
    name <- c("John Johnson")
    dir <- c("C:/Users/uzytkownik/Desktop/.csv")
#how to insert "name" vector between "Desktop/" and "." to get:
    dir <- c("C:/Users/uzytkownik/Desktop/John Johnson.csv")
    write.csv(df, file=dir)
#???

#I found the answer but it is not very elegant in my opinion
    library(qdapRegex)
    dir2 <- c("C:/Users/uzytkownik/Desktop/ab.csv")
    dir2<-rm_between(dir2,'a','b', replacement = name)
> dir2
[1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
    write.csv(df, file=dir2)
#让我们开始吧

df我喜欢
sprintf
用于“填充空白”样式字符串构造的语法:

name <- c("John Johnson")
sprintf("C:/Users/uzytkownik/Desktop/%s.csv", name)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"

我喜欢“填空”样式字符串构造的
sprintf
语法:

name <- c("John Johnson")
sprintf("C:/Users/uzytkownik/Desktop/%s.csv", name)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"

这应该能满足你的需要

dir <- "C:/Users/uzytkownik/Desktop/.csv"
name <- "joe depp"

dirsplit <- strsplit(dir,"\\/\\.")
paste0(dirsplit[[1]][1],"/",name,".",dirsplit[[1]][2])

dir这应该可以满足您的需要

dir <- "C:/Users/uzytkownik/Desktop/.csv"
name <- "joe depp"

dirsplit <- strsplit(dir,"\\/\\.")
paste0(dirsplit[[1]][1],"/",name,".",dirsplit[[1]][2])

dir假设您有一个列表,其中包含要保存的某些数据结构的所需名称,例如:

names = [“file_1”, “file_2”, “file_3”]
现在,您要更新保存文件的路径,添加名称和扩展名

path = “/Users/Documents/Test_Folder/”
extension = “.csv”
实现此功能的一个简单方法是使用paste()创建完整路径,作为Lappy中write.csv()的输入,如下所示:

lapply(names, function(x) {
    write.csv(x = data, 
              file = paste(path, x, extension))
     }
)

这种方法的好处是,您可以迭代包含文件名的列表,最终路径将自动更新。一种可能的扩展是定义一个带有扩展名的列表,并相应地更新路径。

假设您有一个列表,其中包含要保存的某些数据结构的所需名称,例如:

names = [“file_1”, “file_2”, “file_3”]
现在,您要更新保存文件的路径,添加名称和扩展名

path = “/Users/Documents/Test_Folder/”
extension = “.csv”
实现此功能的一个简单方法是使用paste()创建完整路径,作为Lappy中write.csv()的输入,如下所示:

lapply(names, function(x) {
    write.csv(x = data, 
              file = paste(path, x, extension))
     }
)
这种方法的好处是,您可以迭代包含文件名的列表,最终路径将自动更新。一种可能的扩展是定义一个带有扩展名的列表,并相应地更新路径。

我发现
paste0()
是一种方法,只要您分别存储目录和扩展名:

path <- "some/path/"
file <- "file"
ext  <- ".csv"

write.csv(myobj, file = paste0(path, file, ext))
path我发现
paste0()
是一种方法,只要您分别存储目录和扩展名:

path <- "some/path/"
file <- "file"
ext  <- ".csv"

write.csv(myobj, file = paste0(path, file, ext))

路径看起来不错,我以后会试试看。看起来不错,我以后会试试看