首页 > 解决方案 > 在分隔符处拆分字符串并创建新的数据框

问题描述

这似乎是一个基本问题,所以请随时向我指出另一个答案,但我无法通过搜索找到答案。

我有一组 180,000 行,如下所示:

df <- c("12hfgog|hcsg9ws|xaw_07cas", "fhjf79", "8xxghk")

我想在分隔符“|”处拆分字符串 并创建一个新的数据框,其结果如下所示:

df2 <- c("12hfgog","hcsg9ws", "xaw_07cas", "fhjf79", "8xxghk")

我知道它涉及 strsplit、unlist 和 unnest 的某种组合,但我不能完全正确。任何帮助表示赞赏!

标签: r

解决方案


我的建议是使用 sapply 和 strsplit。稍后仅将结果列表转换为带有 unlist 的向量。

df1 <- c("12hfgog|hcsg9ws|xaw_07cas", "fhjf79", "8xxghk")
df2 <- unlist(sapply(df1, strsplit, split = "\\|", USE.NAMES = FALSE))

问候。


推荐阅读