Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 通过R中的组连接列_String_R_Oracle_Text_Aggregation - Fatal编程技术网

String 通过R中的组连接列

String 通过R中的组连接列,string,r,oracle,text,aggregation,String,R,Oracle,Text,Aggregation,假设我有一份员工名单: Dept Date Name ----- --------- --------------- 30 07-DEC-02 Raphaely 30 18-MAY-03 Khoo 40 07-JUN-02 Mavris 50 01-MAY-03 Kaufling 50 14-JUL-03 Ladwig 70 0

假设我有一份员工名单:

 Dept Date      Name            
----- --------- --------------- 
   30 07-DEC-02 Raphaely        
   30 18-MAY-03 Khoo            
   40 07-JUN-02 Mavris          
   50 01-MAY-03 Kaufling        
   50 14-JUL-03 Ladwig          
   70 07-JUN-02 Baer            
   90 13-JAN-01 De Haan
   90 17-JUN-03 King  
  100 16-AUG-02 Faviet
  100 17-AUG-02 Greenberg 
  110 07-JUN-02 Gietz           
  110 07-JUN-02 Higgins         
我希望在R中按部门进行列表聚合(类似于),以生成最后一列:

 Dept Date      Name            Emp_list
----- --------- --------------- ---------------------------------------------
   30 07-DEC-02 Raphaely        Raphaely; Khoo
   30 18-MAY-03 Khoo            Raphaely; Khoo
   40 07-JUN-02 Mavris          Mavris
   50 01-MAY-03 Kaufling        Kaufling; Ladwig
   50 14-JUL-03 Ladwig          Kaufling; Ladwig
   70 07-JUN-02 Baer            Baer
   90 13-JAN-01 De Haan         De Haan; King
   90 17-JUN-03 King            De Haan; King
  100 16-AUG-02 Faviet          Faviet; Greenberg
  100 17-AUG-02 Greenberg       Faviet; Greenberg
  110 07-JUN-02 Gietz           Gietz; Higgins
  110 07-JUN-02 Higgins         Gietz; Higgins

有什么建议吗?

您可以使用
ave
paste

within(mydf, {
  Emp_list <- ave(Name, Dept, FUN = function(x) paste(x, collapse = "; "))
})
#   Dept      Date      Name          Emp_list
# 1    30 07-DEC-02  Raphaely    Raphaely; Khoo
# 2    30 18-MAY-03      Khoo    Raphaely; Khoo
# 3    40 07-JUN-02    Mavris            Mavris
# 4    50 01-MAY-03  Kaufling  Kaufling; Ladwig
# 5    50 14-JUL-03    Ladwig  Kaufling; Ladwig
# 6    70 07-JUN-02      Baer              Baer
# 7    90 13-JAN-01   De Haan     De Haan; King
# 8    90 17-JUN-03      King     De Haan; King
# 9   100 16-AUG-02    Faviet Faviet; Greenberg
# 10  100 17-AUG-02 Greenberg Faviet; Greenberg
# 11  110 07-JUN-02     Gietz    Gietz; Higgins
# 12  110 07-JUN-02   Higgins    Gietz; Higgins
在(mydf{
Emp_列表或plyr:

gr<-read.csv("gr.csv")
require(plyr)
merge(gr,ddply(gr,.(Dept),summarise,Emp_List=paste0(Name,collapse="; ")),by="Dept")

Dept      Date      Name          Emp_List
1    30 07-DEC-02  Raphaely    Raphaely; Khoo
2    30 18-MAY-03      Khoo    Raphaely; Khoo
3    40 07-JUN-02    Mavris            Mavris
4    50 01-MAY-03  Kaufling  Kaufling; Ladwig
5    50 14-JUL-03    Ladwig  Kaufling; Ladwig
6    70 07-JUN-02      Baer              Baer
7    90 13-JAN-01   De Haan     De Haan; King
8    90 17-JUN-03      King     De Haan; King
9   100 16-AUG-02    Faviet Faviet; Greenberg
10  100 17-AUG-02 Greenberg Faviet; Greenberg
11  110 07-JUN-02     Gietz    Gietz; Higgins
12  110 07-JUN-02   Higgins    Gietz; Higgins

gr:如果你知道listagg,那么你面临的问题是什么?我正在寻找R中的一个等价函数。也可能是@Thomas的副本,为了保护OP,这些是聚合类型的问题(合并行),而这不是。