将多个值连接到同一个单元格 R

问题描述

我有一个数据框,其中每个文档的 pos 值被拆分为单个标记。如何将各个 pos 值合并到一个由逗号分隔的单元格中? 所以现在我有类似的东西

async function getMessagesFromChat(JWT_header,chatId) {
    if (JWT_header !== '') {
        const respnse = await axios.get(`${SECURED_API_PATH}/messages/chat/${chatId}`,{
//                      ^^^^^
            headers: {authorization: JWT_header},params: {size: 80,page: 0}
        });
        console.log('messages (fetch)',response.data)
        return response.data
    }
    // else return undefined
}

我怎样才能把它变成

  doc_id sentence_id token_id    token  pos entity
1  text1           1        1   xxxxxx PRON       
2  text1           1        2     xxxx  AUX       
3  text1           1        3      xxx  AUX       
4  text1           1        4  xxxxxxx VERB       
5  text2           1        5     xxxx  DET       
6  text2           1        6      xxx NOUN  

我需要创建一个新的数据框还是有一个可以直接执行此操作的 Spacy 函数? 谢谢

解决方法

你可以像这样折叠它:

aggregate(pos ~ doc_id,doc_df,paste,collapse = ",")

您可以将其存储在一个单独的数据框中,并合并到您想要从原始数据中包含的任何其他列中,或者如果您只需要这两个列,那么您可以直接使用它。

,

我们可以使用 dplyr

library(dplyr)     
df1 %>%
     group_by(doc_id,entity) %>%
     summarise(pos = toString(pos),.groups = 'drop')