[英]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.