使用 unnest_tokens() 按特定字符拆分列?

Using unnest_tokens() to split a column by a specific character?

我正在处理一列 url 的向量,这些向量被格式化为一个字符串,每个 url 用逗号分隔:

column_with_urls

["url.a, url.b, url.c"]

["url.d, url.e, url.f"]

我想使用 tidytext::unnest_tokens() R 函数将它们分成一个 url 每行(尽管我愿意接受其他基于 R 的解决方案)。我已经阅读了文档 here,但我无法确定是否 possible/advisable 可以输入单个字符进行拆分。

我的想法是unnest_tokens(url, column_with_urls, by = ',')。有没有办法指定那种参数 and/or 是解决这个问题的更好方法?

我想要的输出是一个像这样每行一个 url 的数据框(原始行的所有其他数据都复制到每一行):

url

url.a

url.b

url.c

...

提前致谢。

unnest_tokens 函数有一个选项,您可以根据正则表达式模式进行拆分。下面是使用此选项以逗号分隔的示例语法(您也可以将其用于更复杂的模式)。

请注意,这会将输入数据的 class 转换为 tibble

my_df = data.frame(id=1:2, urls=c("url.a, url.b, url.c",
                                  "url.d, url.e, url.f"))
tidytext::unnest_tokens(my_df, out, urls, token = 'regex', pattern=",")
# # A tibble: 6 × 2
#     id    out
#   <int>  <chr>
# 1     1  url.a
# 2     1  url.b
# 3     1  url.c
# 4     2  url.d
# 5     2  url.e
# 6     2  url.f