首页 > 解决方案 > 如何将 str_split 应用于具有一个字符列的小标题?

问题描述

假设我有一个带有一个字符列的 tibble 对象;我想通过使用 str_split 函数转换为目标。我不能成功。对此有什么建议吗?

> as_tibble(c("sdsd/ffg","fdfd/rrrr/rrr","dfd/ww/rrr/ww"))%>%str_split("/")
[[1]]
[1] "c(\"sdsd"      "ffg\", \"fdfd" "rrrr"          "rrr\", \"dfd"  "ww"           
[6] "rrr"           "ww\")"        

Warning message:
In stri_split_regex(string, pattern, n = n, simplify = simplify,  :
  argument is not an atomic vector; coercing
> target <- str_split(c("sdsd/ffg","fdfd/rrrr/rrr","dfd/ww/rrr/ww"),"/")
> target
[[1]]
[1] "sdsd" "ffg" 

[[2]]
[1] "fdfd" "rrrr" "rrr" 

[[3]]
[1] "dfd" "ww"  "rrr" "ww" 

标签: rtidyversestrsplit

解决方案


您可以pull将列作为向量获取,然后应用str_split

tibble::as_tibble(c("sdsd/ffg","fdfd/rrrr/rrr","dfd/ww/rrr/ww")) %>% 
    dplyr::pull(value) %>%
    stringr::str_split("/")

#[[1]]
#[1] "sdsd" "ffg" 

#[[2]]
#[1] "fdfd" "rrrr" "rrr" 

#[[3]]
#[1] "dfd" "ww"  "rrr" "ww" 

推荐阅读