首页 > 解决方案 > 根据 R 中的几种模式拆分列

问题描述

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

示例数据

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")

标签: rstringtidyr

解决方案


尝试这个:

library(dplyr)
library(reshape)

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

推荐阅读