R - 将多行连接成一个彼此相邻的行

ken*_*nyi 1 excel split r concatenation

我有一个包含3列和多行的数据帧.我想分割数据帧,以便只有一行,并且值是顺序的(所以基本上是一行csv).

我的数据框看起来像这样:

  **Subject    Module        ID**
    History    WW2           1
    English    Literature    2
    Maths      Algebra       3
Run Code Online (Sandbox Code Playgroud)

我想要实现的是一行,看起来像这样,按此顺序:

 History,    WW2,     1,     English,     Literature,    2,     Maths,    Algebra,    3 
Run Code Online (Sandbox Code Playgroud)

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

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

cor*_*ory 5

使用paste带有collapse做到这一点.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"
Run Code Online (Sandbox Code Playgroud)

编辑以添加您在评论中要求的数据框版本...

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
Run Code Online (Sandbox Code Playgroud)

这会产生非唯一的列名,这是不可取的.