R:聚合(来自StatsV3.6.2)无法正常工作

R:聚合(来自StatsV3.6.2)无法正常工作,r,R,我有一个有两列的数据框。第一列标识文档,称为doc_id。第二列包含我从多个列组合而成的文本,称为text。组合文本包含几个句子。数据框中没有其他内容。示例可能如下所示: 我的问题是,当我使用StatsV3.6.2中的聚合函数时,它不能正确聚合。有些行没有聚合,或者有时它们聚合为列表而不是单个字符串 起始情况: 我想得到的结果是: 我尝试使用以下代码: > mydataframe <- aggregate(text ~ doc_id, data = mydataframe, past

我有一个有两列的数据框。第一列标识文档,称为doc_id。第二列包含我从多个列组合而成的文本,称为text。组合文本包含几个句子。数据框中没有其他内容。示例可能如下所示:

我的问题是,当我使用StatsV3.6.2中的聚合函数时,它不能正确聚合。有些行没有聚合,或者有时它们聚合为列表而不是单个字符串

起始情况:

我想得到的结果是:

我尝试使用以下代码:

> mydataframe <- aggregate(text ~ doc_id, data = mydataframe, paste, collapse = " ")
虽然应该有用于聚合的数据,但代码没有。有时它正确地聚合,有时它聚合但将列表放在一行而不是字符串中,有时值完全丢失

任何帮助都将不胜感激! 事先非常感谢

编辑: 测试数据作为代码:

library(tidyverse)
test <- tribble(
  ~doc_id,      ~text,
  "1015328_1999", "aaa aaa aaa.",
  "1015328_2000", "bbb bbb bbb.",  
  "1015328_2003", "ccc ccc ccc.",
  "1015328_2004", "ddd ddd ddd.",
  "1015328_2005", "eee eee eee.",
  "1015328_2006", "fff fff fff.",
  "1015328_2006", "ggg ggg ggg.",
  "1015328_2006", "hhh hhh hhh.",
  "1015328_2006", "iii iii iii.",
  "1015328_2006", "jjj jjj jjj.",)

我提出了一个基于tidyverse而非统计数据的解决方案。如果这是一个问题或解决方案不符合您的尝试,请让我知道

library(tidyverse)
test <- tribble(
  ~doc_id,      ~text,
  "1015328_1999", "aaa aaa aaa.",
  "1015328_2000", "bbb bbb bbb.",  
  "1015328_2003", "ccc ccc ccc.",
  "1015328_2004", "ddd ddd ddd.",
  "1015328_2005", "eee eee eee.",
  "1015328_2006", "fff fff fff.",
  "1015328_2006", "ggg ggg ggg.",
  "1015328_2006", "hhh hhh hhh.",
  "1015328_2006", "iii iii iii.",
  "1015328_2006", "jjj jjj jjj.",)

group_by(test, doc_id) %>% summarise(text = paste(text, collapse = " "))
输出:

# A tibble: 6 x 2
  doc_id       text                                                            
  <chr>        <chr>                                                           
1 1015328_1999 aaa aaa aaa.                                                    
2 1015328_2000 bbb bbb bbb.                                                    
3 1015328_2003 ccc ccc ccc.                                                    
4 1015328_2004 ddd ddd ddd.                                                    
5 1015328_2005 eee eee eee.                                                    
6 1015328_2006 fff fff fff. ggg ggg ggg. hhh hhh hhh. iii iii iii. jjj jjj jjj.

我能解决这个问题。这不是编码错误,而是显示错误。RStudio查看器工作不正常。当其中实际有数据时,它会显示空的行或单元格

当我使用dataframe的代码:utils::Viewname时,我能够看到完整的内容

不过很奇怪。但是谢谢你的帮助


致以最良好的祝愿

无法重现该问题。你能用dput分享你的数据吗?你用的是什么R版本?aggregatetext~doc_id,mydataframe,我为你工作吗?我用的是版本1.2.50331.2.5033,几乎可以肯定是RStudio的版本,而不是R。sessionInfo将打印R版本以及其他内容。嘿,泽布拉,谢谢你的回答和努力!我尝试了你的代码,但它不能正常工作。代码一直在运行,但我不会得到任何输出。也许这是因为我有一个大约7000行的大数据帧。我尝试了以下代码:test%summarisetext=pastext,collapse=you有其他想法吗,或者我做错了什么?再次感谢@FelixOtto,我在3个不同的系统上检查了我的代码,2台运行R4.0.0和R3.6.1的Mac电脑,以及运行R3.6.0的Windows机器。我的代码似乎解决了您描述的每一个问题。如果你最终还是这样,请接受我的回答。谢谢您还应该使用as_tible将现有数据帧转换为tible。tibble是为创建新的而保留的。
library(tidyverse)
test <- tribble(
  ~doc_id,      ~text,
  "1015328_1999", "aaa aaa aaa.",
  "1015328_2000", "bbb bbb bbb.",  
  "1015328_2003", "ccc ccc ccc.",
  "1015328_2004", "ddd ddd ddd.",
  "1015328_2005", "eee eee eee.",
  "1015328_2006", "fff fff fff.",
  "1015328_2006", "ggg ggg ggg.",
  "1015328_2006", "hhh hhh hhh.",
  "1015328_2006", "iii iii iii.",
  "1015328_2006", "jjj jjj jjj.",)
library(tidyverse)
test <- tribble(
  ~doc_id,      ~text,
  "1015328_1999", "aaa aaa aaa.",
  "1015328_2000", "bbb bbb bbb.",  
  "1015328_2003", "ccc ccc ccc.",
  "1015328_2004", "ddd ddd ddd.",
  "1015328_2005", "eee eee eee.",
  "1015328_2006", "fff fff fff.",
  "1015328_2006", "ggg ggg ggg.",
  "1015328_2006", "hhh hhh hhh.",
  "1015328_2006", "iii iii iii.",
  "1015328_2006", "jjj jjj jjj.",)

group_by(test, doc_id) %>% summarise(text = paste(text, collapse = " "))
# A tibble: 6 x 2
  doc_id       text                                                            
  <chr>        <chr>                                                           
1 1015328_1999 aaa aaa aaa.                                                    
2 1015328_2000 bbb bbb bbb.                                                    
3 1015328_2003 ccc ccc ccc.                                                    
4 1015328_2004 ddd ddd ddd.                                                    
5 1015328_2005 eee eee eee.                                                    
6 1015328_2006 fff fff fff. ggg ggg ggg. hhh hhh hhh. iii iii iii. jjj jjj jjj.