Concatenating a column by a group in R(在 R 中按组连接列)
                            本文介绍了在 R 中按组连接列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
假设我有这个员工列表:
Suppose I've got this employee list:
 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 中按部门聚合列表(类似于 Oracle PL/SQL 的 LISTAGG 函数) 将生成最后一列:
I want a list aggregation by department in R (similar to Oracle PL/SQL's LISTAGG function) that would product this last column:
 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
                        这篇关于在 R 中按组连接列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:在 R 中按组连接列
				
        
 
            
        基础教程推荐
             猜你喜欢
        
	     - 从字符串 TSQL 中获取数字 2021-01-01
 - 带更新的 sqlite CTE 2022-01-01
 - CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
 - while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
 - 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
 - 带有WHERE子句的LAG()函数 2022-01-01
 - ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
 - MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
 - MySQL 5.7参照时间戳生成日期列 2022-01-01
 - 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				