我想将字符串(人名)的矢量分成两列(向量).问题是有些人有一个"两个字"的姓氏.我想将名字和姓氏分成两列.我可以使用下面的代码切出并使用名字,但姓氏使我无效.(看看下面的样本集中的obs 29,以获得一个想法,因为福特有一个必须保持在一起的Pantera L的"姓氏")
到目前为止我试图做的事情;
x<-rownames(mtcars)
unlist(strsplit(x, " .*"))
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像:
MANUF MAKE
27 Porsche 914-2
28 Lotus Europa
29 Ford Pantera L
30 Ferrari Dino
31 Maserati Bora
32 Volvo 142E
Run Code Online (Sandbox Code Playgroud) 我有一个大约有4千万行的文件,我需要根据第一个逗号分隔符进行拆分.
以下使用该stringr功能str_split_fixed运行良好,但速度很慢.
library(data.table)
library(stringr)
df1 <- data.frame(id = 1:1000, letter1 = rep(letters[sample(1:25,1000, replace = T)], 40))
df1$combCol1 <- paste(df1$id, ',',df1$letter1, sep = '')
df1$combCol2 <- paste(df1$combCol1, ',', df1$combCol1, sep = '')
st1 <- str_split_fixed(df1$combCol2, ',', 2)
Run Code Online (Sandbox Code Playgroud)
有什么建议可以更快地完成这项工作吗?
我该如何拆分这个
Chr3:153922357-153944632(-)
Chr11:70010183-70015411(-)
Run Code Online (Sandbox Code Playgroud)
进入
Chr3 153922357 153944632 -
Chr11 70010183 70015411 -
Run Code Online (Sandbox Code Playgroud)
我试过了strsplit(df$V1,"[[:punct:]]")),但最终结果中没有出现负号