r - 在每 3 列之后拆分一行并将这 3 列作为 r 中的新行传输

标签 r split dataframe col

我有一个数据框,它是另一个命令的结果。这个数据框只有一行,大约有 40000 个条目。我的问题是 3 列是一组连接的数据。因此,我想在每第三列之后拆分该行并将其作为新行传输。例子:

创建一个测试数据框:

df=as.data.frame(matrix(seq(1:12), ncol=12, nrow=1))

现在我有一个看起来像这样的数据框。
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
1  2  3  4  5  6  7  8  9  10  11  12

但我需要这样:
V1 V2 V3
1  2  3
4  5  6
7  8  9
10 11 12

我怎么能意识到这一点?

最佳答案

尝试

as.data.frame(matrix(unlist(df, use.names=FALSE),ncol=3, byrow=TRUE))
#  V1 V2 V3
#1  1  2  3
#2  4  5  6
#3  7  8  9
#4 10 11 12

或者你可以直接使用 matrixdf
 as.data.frame(matrix(df, ncol=3, byrow=TRUE))

关于r - 在每 3 列之后拆分一行并将这 3 列作为 r 中的新行传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973029/

相关文章:

css - 在dashboardBody Shinydashboard中使用CSS更改字体系列

r - 如何使用 dplyr 将函数逐行应用到数据框中,而不对列名称进行硬编码

R 中的 rle 函数用于组

regex - 除了空格用双引号引起来之外,Perl如何在空格上分割行?

regex - 将字符串拆分为一个或多个空格的子字符串

c - 如何在第一个空格处拆分字符串

r - 刻度线标记 ggplot 中日期的任一侧

python - 如何从分类数据中提取小时、星期几?

python - 数据框列值与列表的比较

python - 计算 Pandas 中每列的唯一符号