gpt4 book ai didi

r - 如何在 R 中使用 tidyr 将字符串列分隔为多个其他列

转载 作者:行者123 更新时间:2023-12-04 00:56:11 24 4
gpt4 key购买 nike

所以我在 R 中使用 tidyr,我试图将 'pub_author' 列(附在下面)中的数据分成 3 个单独的列:'website_title''year''author'。我尝试使用 separate() 函数执行 separate('pub_author',c('website_title','year', 'author'),'-'),但是由于 R 单独读取每个 '-',因此它只返回前三个单词。有谁知道如何将标题和作者的词分组,以便它们出现在适当的列或任何其他方法中?

pub author column

最佳答案

使用separate,我们可以传递正则表达式环视。在这种情况下,它将匹配 4 位数字之前的 - 或 4 位数字之后的 -

library(tidyr)
separate(df1, pub_author, into = c('website_title','year', 'author'),
"-(?=\\d{4})|(?<=\\d{4})-")
# website_title year author
#1 nfl-draft-geek 2018 justin-miller
#2 cbs 2019 pete-prisco
#3 sb-nation 2020 dan-kadar
#4 football-fan-spot 2019 steven-lourie
#5 fanspeak 2018 william
#6 acme-packing-company 2020 shawn-wagner

数据

df1 <- structure(list(pub_author = c("nfl-draft-geek-2018-justin-miller", 
"cbs-2019-pete-prisco", "sb-nation-2020-dan-kadar",
"football-fan-spot-2019-steven-lourie",
"fanspeak-2018-william", "acme-packing-company-2020-shawn-wagner"
)), class = "data.frame", row.names = c(NA, -6L))

关于r - 如何在 R 中使用 tidyr 将字符串列分隔为多个其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62416233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com