如何反转字符串的分隔部分

时间:2018-03-06 22:42:22

标签: r hierarchy concat

我试图反转在数据框中找到的分层名称的部分,以便我可以使用反向路径的字符串。这是我做的:

{{1}}

谢谢!

2 个答案:

答案 0 :(得分:0)

我分裂,翻转,然后连接。但是使用mutate可能有一种更简单的方法:)

flipper <- function(x){

    splitVector <- unlist(strsplit(x, ":")) #Split it by ":"
    flipVector <- rev(splitVector ) #Reverse it
    flipString <- paste0(flipVector, collapse = ":") #Paste it back together!
    return(flipString)

}

那应该为你做好工作!

Data$Xflip <- sapply(as.character(Data$X), flipper)

答案 1 :(得分:0)

或使用stringr::str_split_fixed

df$Xflip <- apply(stringr::str_split_fixed(df$X, ":", 4), 1, function(x) 
    paste0(rev(x), collapse = ":"))
#                     X                Xflip
#1   one:two:three:four   four:three:two:one
#2 five:six:seven:eight eight:seven:six:five

或使用stringr::str_split

df$Xflip <- sapply(stringr::str_split(df$X, ":"), function(x) 
    paste0(rev(x), collapse = ":"));

您可以使用transform

执行相同操作
transform(df, Xflip = sapply(stringr::str_split(X, ":"), function(x) 
    paste0(rev(x), collapse = ":")))

如果stringr::str_split包含不同数量的X个分隔条目,":"方法也会有用。