在第n个元素处将矢量拆分为数据帧

pha*_*age 5 r

我想在R中执行以下任务.这是字符向量:

a <- c("a", "1", "2", "3", "b", "5", "6", "7", "c", "8", "9", "11")
Run Code Online (Sandbox Code Playgroud)

将a转换为如下所示的数据框:

a 1 2 3
b 5 6 7
c 8 9 11
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

我们可以用 matrix

as.data.frame(matrix(a, ncol = 4,  byrow = TRUE), stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

基于OP的初始帖子,似乎数据是单个字符串.如果是这样的话

a <- "a; 1; 2; 3; b; 5; 6; 7; c; 8; 9; 11"
library(data.table)
fread(gsub(";", "",  gsub("((\\S+\\s+){3}\\S+)(\\s)", "\\1\n ", a, perl = TRUE)))
#    V1 V2 V3 V4
#1:  a  1  2  3
#2:  b  5  6  7
#3:  c  8  9 11
Run Code Online (Sandbox Code Playgroud)