R中行的条件合并

时间:2015-02-11 11:01:53

标签: r merge conditional

我想在.txt文件中为我的数据集的每个文件创建单独的成绩单,其中包含两个colones LABEL(单词)和FILE(单词所在的文件)。

所以我的DF(样本)看起来像这样:

file        label
 bla_1       _
 bla_1       so
 bla_1       we
 bla_1     know
 bla_1     that
 bla_1     right 
 bla_2     my
 bla_2     mummy
 bla_2     said
 bla_2     so

我可以轻松地将所有内容粘贴在一起:

text <-paste(unlist(sample), collapse =" ");text

结果是

"_ so we know that right my mummy said so"

但是如何根据file的值插入if语句来生成单个文本(并将它们保存在单独的文件中)?

bla_1     "_ so we know that right" 
bla_2     "my mummy said so"

谢谢

可再生DF

sample <- data.frame(file=c(rep("bla_1",6),rep("bla_2",4)),label=c("_","so","we" ,"know" ,"that" ,"right" ,"my" ,"mummy" ,"said" ,"so"))

2 个答案:

答案 0 :(得分:1)

正如lukeA指出的那样,我只是忘记了在这种情况下完美运行的聚合函数。

aggregate(label~file, sample, paste, collapse = " ") 

答案 1 :(得分:0)

Tidyverse方法:

library(dplyr)

sample %>%
  group_by(file) %>% 
  summarise(paste(label, collapse = " "))