按名称折叠数据框,其中将整数列相加并粘贴因子列

use*_*170 3 r

我试图通过包含补充整数和因子列的唯一名称来折叠数据框.整数列需要与唯一的"名称"值相加,因子列需要将所有值粘贴在一起,如下所示:

Name        Number         Location
RUDU          6               SiteA
RUDU          4               SiteB
YHBL          50              SiteA
YHBL          60              SiteB
Run Code Online (Sandbox Code Playgroud)

折叠名称:

Name        Number         Location
RUDU          10              SiteA,SiteB
YHBL          110             SiteA,SiteB
Run Code Online (Sandbox Code Playgroud)

我用ddplyr玩了一下,它适用于整数部分但是我对如何聚合我的请求的因子部分感到茫然.

Dav*_*urg 6

这是一种可能的data.table方法

library(data.table)
setDT(df)[, list(Mumber = sum(Number), Location = toString(Location)), by = Name]
#    Name Mumber     Location
# 1: RUDU     10 SiteA, SiteB
# 2: YHBL    110 SiteA, SiteB
Run Code Online (Sandbox Code Playgroud)

正如您所提到的plyr,这是一个dplyr可能的解决方案

library(dplyr)
df %>%
  group_by(Name) %>%
  summarise(
            Mumber = sum(Number), 
            Location = toString(Location)
            )

# Source: local data table [2 x 3]
# 
#   Name Mumber     Location
# 1 RUDU     10 SiteA, SiteB
# 2 YHBL    110 SiteA, SiteB
Run Code Online (Sandbox Code Playgroud)