簡體   English   中英

在R中的Dataframe中將多行合並為一行

[英]Combining multiple rows into one single row in Dataframe in R

假設我有一個數據框,它看起來像這樣。

| 分類 | 文字 |

| :--------: | :--------------------: |

| 第一 | 我是格魯特。 |

| 第一 | 我們是格魯特。 |

| 第二 | 黑暗騎士崛起。 |

| 第二 | 我是蝙蝠俠。 |

但是我們希望將 Text 列中的行(恰好在 category 列中具有相同的值)合並為一行,並使其看起來像這樣。

| 分類 | 文字 |

| -------- | ------------------------------------- |

| 第一 | 我是格魯特。 我們是格魯特。 |

| 第二 | 黑暗騎士崛起。 我是蝙蝠俠。 |

我怎么做?

data.table解決方案:

library(data.table)
dt0 <- data.table(
  Category = c(rep("First", 2), rep("Second", 2)),
  Text = c("I am Groot.", "We are Groot.", "The Dark Knight Rises.", "I am Batman.")
)
dt <- dt0[, .(Text = paste0(Text, collapse = " ")), by = .(Category)]
dt

說明: paste0獲取列Text (在data.table語法中計算為dt$Text )並將其折疊為單個值。 Category每個唯一值執行此計算, by = .(Category)指示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM