我有一个向量,其中每个元素都是由以下模板构建的字符串:
something*something.
我喜欢做的是构建一个表,在每一行中,一列将包含留给*
的子串,另一列将包含直到*
的子串。
答案 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')