gpt4 book ai didi

R - 将多行并排连接成一行

转载 作者:行者123 更新时间:2023-12-04 21:16:05 32 4
gpt4 key购买 nike

我有一个包含 3 列和多行的数据框。我想拆分数据框,以便只有一行并且值是按顺序排列的(所以本质上是单行 csv)。

我的数据框如下所示:

  **Subject    Module        ID**
History WW2 1
English Literature 2
Maths Algebra 3

我想要实现的是一行看起来像这样并按以下顺序:
 History,    WW2,     1,     English,     Literature,    2,     Maths,    Algebra,    3 

我可以使用 excel 进行剪切和粘贴,但想知道 R 是否有快速的方法。

任何帮助都会很棒!
谢谢。

最佳答案

使用pastecollapse去做这个。 unlist从您的数据框中创建一个向量,但它是按列执行的,因此您需要一个 t先转置它。

df <- read.table(textConnection("Subject    Module        ID
History WW2 1
English Literature 2
Maths Algebra 3"),
stringsAsFactors=FALSE, header=TRUE)
> paste(unlist(t(df)), collapse=",")
[1] "History,WW2,1,English,Literature,2,Maths,Algebra,3"

编辑以添加您在评论中要求的数据框版本...
df1 <- read.csv(text=paste(unlist(t(df)), collapse=","), header=FALSE,
stringsAsFactors=FALSE)
names(df1) <- rep(names(df), nrow(df))
> df1
Subject Module ID Subject Module ID Subject Module ID
1 History WW2 1 English Literature 2 Maths Algebra 3

这使得列名不唯一,这并不是真正可取的。

关于R - 将多行并排连接成一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990164/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com