hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by相关的知识,希望对你有一定的参考价值。
需求是这样的,原始数据第一列是用户的id,第二列是用户的行为,想按用户有过的行为点,对用户做聚合,并且统计各种行为组合的用户数量
比如下表
x1 y1
x1 y2
x2 y1
x2 y2
x3 y1
通过sql合并成
x1 y1,y2
x2 y1,y2
x3 y1
然后再按新的列group by,结果是
y1,y2 2个
y1 1个
select ys, count(*)
from
(
select x, to_char(wm_concat(y)) ys
from tb
group by x
) w
group by ys
;本回答被提问者采纳
R语言中怎么把第一列的数据作为行名
read.xlsx(filename,sheet=1,head=T)
如果你的第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反,这个需要xlsx包。
如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果需要,也可以保留第一行数据。
扩展资料:
注意事项
header=T表示将文件中第一行设为列名字。row.names= 1表示第一列设为行名。
例如:
data = read.csv("test.csv",row.names= 1) #表示第一行作为列名,第一列作为行名
data = read.csv("test.csv",header=F) #表示读入没有指定行列名的矩阵数据
因此header=T为默认条件,默认条件下没有行名,如果第一列为行名,则需在读入时指定row.names= 1。
R语言读入表格的函数有:
read.table()
read.csv(
read.csv2()
read.delim()
read.delim2()
其中,读入表格常常要考虑行名和列名的显示方式,例如你读入的表格第一行是否为各列的列名,第一列是否为各行的行名等等。
参考技术Aread.xlsx(filename,sheet=1,head=T)
如果第一行是data,则head=T将强制第一列成为变量名,而head=F则需要一个XLSX包。
如果已经加载了数据,并且数据的名称是a,那么使用colnames(a)=a[1,]将a的行名更改为a的第一行,然后a=a[-1,],删除第一行,这样就可以了。当然,如果需要,也可以保留第一行。
扩展资料:
R语言读入表格的函数有:
read.table()
read.csv(
read.csv2()
read.delim()
read.delim2()
在读取表时,通常要考虑行名和列名的显示方式,比如读取的表的第一行是否为每一列的列名,第一列是否为每一行的行名,等等。
注意事项
Header=T表示将文件中的第一行设置为列名。name=1表示将第一列设置为行名称。
例如:
Data=read.csv("test.csv",row.names=1)#表示第一行是列名,第一列是行名
Data=read.csv("test.csv",header=F)#表示在没有指定列和列名的情况下读入的矩阵数据
header=T是默认条件,默认情况下没有行名称,如果第一列是行名称,你需要在输入上指定row.names=1。
参考技术Bread.xlsx(filename,sheet=1,head=T)
如果第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反,这个需要xlsx包。
如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果需要,也可以保留第一行数据。
扩展资料:
功能
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。
与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。
R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。
参考资料来源:百度百科-R语言
参考技术C 1,read.xlsx(filename,sheet=1,head=T),如果你的第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反。这个需要xlsx包。2,如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果你需要,也可以保留第一行数据。本回答被提问者采纳 参考技术D rownames(data)=data[,1]
以上是关于hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by的主要内容,如果未能解决你的问题,请参考以下文章
怎样在一条sql语句中将第一列和第二列加和的值作为第三列的值
EXCEL如何把第二列的数据按照第一列数据排序,且第二列的数据少于第一列?