r - 在R中将列一分为二

标签 r tidyr

我现在正在使用 R 中的当前数据框,我的目标是使用 tidyr 中的单独函数将 songs_genre 列分成两部分:

songs <- c("Wheel in the Sky", "Smooth Criminal", "Bloodstream", "New Kid in 
Town", "You Belong with Me")
length <- c(211, 209, 299, 304, 232)
genre <- c("Rock", "Pop", "Pop", "Classic Rock", "Country Pop")
songList <- data.frame(songs, length, genre)
songList
songUnite <- unite(songList, "songs_genre", c("songs", "genre"), sep=".")
songUnite

但是,当我输入分隔命令时:

songSeparate <- separate(songUnite, col = songs_genre, into = c("songs", "genre"), sep=".")
songSeparate

出现此警告:

Warning message: Expected 2 pieces. Additional pieces discarded in 5 rows [1, 2, 3, 4, 5].`

我已经在线检查过我的格式和变量是否都在正确的位置,但似乎无法找到我所写内容的错误。

我还包含了库 (tidyr)

最佳答案

您已使用 sep = "\\.". 进行了“转义”。

. 是一个特殊的正则表达式字符,它匹配任何字符,除非转义。最好使用 _ 等分隔符来避免此问题。

关于r - 在R中将列一分为二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53549419/

相关文章:

r - 在 R 中将多行转换为单列

r - 无法使用 R 将 Inf 替换为 dplyr 链中的自定义值

regex - 在第一个遇到的数字上通过 dplyr 使用单独的 (tidyr) 分隔列

r - 使用 dplyr 代替 lapply

html - 使用 Rmarkdown 创建评论框(HTML 文件)

r - 自从更新 sp 包后,我通过调用 sp::CRS 定义收到警告

r - 如何使用 tidyr::replace_na 替换数据帧中的所有 NA?

r - 如何比较两列并将结果写入第三列 - 使用 R

r - 如何比较两个数据帧/表并在R中提取数据?

r - 用因子列融化 R data.table