Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从数据帧中的变量名中删除路径_R - Fatal编程技术网

R 从数据帧中的变量名中删除路径

R 从数据帧中的变量名中删除路径,r,R,我组合了一个类似这样的函数,第一个注释行就是一个例子。这里最重要的是set.path变量,我最初用于为函数设置路径 # igor.import(set.path = "~/Desktop/Experiment1 Folder/SCNavigator/Traces", # set.pattern = "StepsCrop.ibw", # remove.na = TRUE) igor.multif

我组合了一个类似这样的函数,第一个注释行就是一个例子。这里最重要的是
set.path
变量,我最初用于为函数设置路径

# igor.import(set.path = "~/Desktop/Experiment1 Folder/SCNavigator/Traces",
#                          set.pattern = "StepsCrop.ibw",
#                          remove.na = TRUE)


igor.multifile.import <- function(set.path, set.pattern, remove.na){
    {
        require("IgorR")
        require("reshape2")

        raw_list  <- list.files(path= set.path,
                                pattern= set.pattern,
                                recursive= TRUE,
                                full.names=TRUE)
        multi.read <- function(f) {                                      # Note that "temp.data" is just a placeholder in the function
            temp_data <- as.vector(read.ibw(f))                          # Change extension to match your data type
        }
        my_list           <- sapply(X = raw_list, FUN = multi.read)      # Takes all files gathered in raw_list and applies multi.read()
        my_list_combined  <- as.data.frame(do.call(rbind, my_list))

        my_list_rotated <- t(my_list_combined[nrow(my_list_combined):1,]) # Matrix form
        data_out <- melt(my_list_rotated)                                 # "Long form", readable by ggplot2
        data_out$frame <- gsub("V", "", data_out$Var1)
        data_out$name  <- gsub(set.path, "", data_out$Var2) # FIX THIS
    }
    if (remove.na == TRUE){
    set_name <- na.omit(data_out)
    } else if (remove.na == FALSE) {
        set_name <- data_out
    } else (set_name <- data_out)
}
这包括了整个文件路径,而且查看和处理起来有点笨拙

我试着删除路径部分,上面写着

data_out$name  <- gsub(set.path, "", data_out$Var2)

data\u out$name无论您的
set.path是什么,您都可以通过

gsub(“.*/”,“”,mypath)


mypathFirst,请澄清您的问题:您到底想要什么,即“这是输入——这是期望的输出”——从您的帖子中不太清楚您想要实现什么。第二,您是否尝试过使用
basename(path)
dirname(path)
对此表示抱歉。结果表明,如果您输入例如
~/Desktop/
,R会将其作为
/Users/Username/Desktop/
写入您的文件中,导致正在查找最初输入的
~/
的gsub命令不匹配。那么
gsub(paste0(“*”,sub(“~”,“”,set.path)),“”,data\u out$Var2)
?我最终使用了
data\u out$name
data_out$name  <- gsub(set.path, "", data_out$Var2)