这似乎是一个基本问题,所以请随时为我指出另一个答案,但我无法通过搜索找到答案。
我有一组180,000行,看起来像这样:
df <- c("12hfgog|hcsg9ws|xaw_07cas", "fhjf79", "8xxghk")
我想在定界符“ |”处分割字符串并使用如下结果创建一个新的数据框:
df2 <- c("12hfgog","hcsg9ws", "xaw_07cas", "fhjf79", "8xxghk")
我知道它涉及strsplit,unlist和unnest的某种组合,但我不能完全正确。任何帮助表示赞赏!
答案 0 :(得分:1)
我的建议是使用sapply和strsplit。以后只将结果列表转换为带有unlist的向量。
df1 <- c("12hfgog|hcsg9ws|xaw_07cas", "fhjf79", "8xxghk")
df2 <- unlist(sapply(df1, strsplit, split = "\\|", USE.NAMES = FALSE))
致谢。
答案 1 :(得分:0)
我们可以使用separate_rows
library(tidyr)
df %>%
separate_rows(colname)