我有这样一个数据集:
DEPTNO ENAME
10 CLARK
10 KING
10 MILLER
20 ADAMS
20 FORD
20 JONES
我正在尝试创建类似于这样的结果:
DEPTNO AGGREGATED_ENAMES
10 CLARK,KING,MILLER
20 ADAMS,FORD,JONES
在Oracle中,可以通过以下方式实现:
SQL> SELECT deptno
,LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM emp
GROUP BY
deptno;
如何在R的SQLDF
中执行此操作?
如果在R的SQLDF
中无法实现,那么如何在R中实现?
谢谢! Parth
c
,则结果中的v2列将包含一个列表 - 如果我没有记错的话。如果他们想要一个单独的字符串,那么paste - collapse或toString可能会很有用。 - talattoString
(不需要匿名函数)与“,”一起折叠,或者您也可以使用aggregate(v2〜v1,df,paste,collapse =“,”)
(因为聚合有一个...
参数,您可以将其传递给函数)。此外,如果您的数据框中只有列v1..v4,您可以修改聚合以aggregate(.〜v1,df,paste,collapse =“;”)
- 只是提供信息。 - talat