【问题标题】:ddply to compress text data on a data.frame in R, in relation to a single columnddply 压缩 R 中 data.frame 上的文本数据,相对于单个列
【发布时间】:2017-05-29 08:36:42
【问题描述】:

我有一个名为 df 的数据框,结构如下:

 X C D E F
 A b c d e 
 A f g h i
 B l m n o
 B p q r s

我想得到这样的结果:

 X   C    D    E    F
 A  b f  c g  d h  e i
 B  l p  m q  n r  s o

我可以使用 ddply,就像这样: 测试

我不知道如何完成。

你能帮帮我吗?

谢谢!

【问题讨论】:

  • 如果你的变量是字符那么简单aggregate(. ~ X, df, toString)

标签: r dataframe plyr


【解决方案1】:

我们可以使用dplyr。按'X'分组后,使用summarise_allpaste每个组列中的元素

library(dplyr)
df %>% 
   group_by(X) %>%
   summarise_all(funs(paste(., collapse=' ')))
# A tibble: 2 x 5
#      X     C     D     E     F
#   <chr> <chr> <chr> <chr> <chr>
#1     A   b f   c g   d h   e i
#2     B   l p   m q   n r   o s

如果我们想要list 那么

df %>%
    group_by(X) %>% 
    summarise_all(list)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多