根据部分字符串拆分矢量

时间:2015-10-23 10:58:11

标签: r string vector

我有一个向量,其中每个元素都是由以下模板构建的字符串:

something*something.

我喜欢做的是构建一个表,在每一行中,一列将包含留给*的子串,另一列将包含直到*的子串。

1 个答案:

答案 0 :(得分:0)

我们可以通过多种方式实现这一目标。使用base R的一个选项是read.table

 read.table(text=v1, sep="*", header=FALSE, stringsAsFactors=FALSE)
 #       V1        V2
 #1 something something
 #2        sp        vs

或者我们可以按*分割,然后rbind分组元素

 setNames(do.call(rbind.data.frame, strsplit(v1, '[*]')), paste0('V',1:2))

或者我们可以使用separate中的tidyr

library(dplyr)
library(tidyr)
as.data.frame(v1) %>% 
            separate(v1, into=c('v1', 'v2'))

数据

v1 <- c('something*something', 'sp*vs')