【问题标题】:Split column depending on several patterns in R根据 R 中的几种模式拆分列
【发布时间】:2021-06-16 08:25:24
【问题描述】:

我需要做的一些数据处理工作是根据几个单词拆分一列。为了简单起见,假设我只有两个词(之后和之前)

示例数据

data <- structure (list(author=c("joe","mack","rick"),options=c("bike before run","car after bike","bus after bike")), class= "data.frame", row.names=c(NA,-3L))

输出:

author  new1   new2
joe     bike   run
mack    car    bike
rick    bus    bike

尝试使用 tidyr 无济于事

data %>% tidyr::separate(options, into=c("new1","new2"),sep="after|before")

【问题讨论】:

  • 你能显示你的packageVersion('tidyr')吗?几个小时前有人问了一个类似的问题here。这对我有用 1.1.2 版本
  • 这对我也有用1.1.3。如果您尝试@akrun 的建议并且您有旧版本,则可以使用install.packages("tidyr") 进行更新,只要您的 Rstudio 版本和依赖项对于新版本来说是最新的。

标签: r string tidyr


【解决方案1】:

试试这个:

library(dplyr)
library(reshape)

data %>% cbind(.,colsplit(data$options, "after|before", c("new1", "new2"))) %>%
      select(-options)

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多