r语言 有没有列转行pivot功能

Python014

r语言 有没有列转行pivot功能,第1张

Pivot的规则是:

任何仅在pivot子句中的引用的列,不能用在select列表中,

任何仅在pivot for子句中引用的列,不能用在select列表中。

从执行顺序来讲,先pivot,再select,你的pivot里面的MAX(ORDERPRICE)会变成 产品1_MAX,产品2_MAX等,select自然会告诉你标识符无效,你也不应该写它,还有就是那些产品1,产品2也不用写的

如下图所示

可以看到通过pivot_longer( )函数很轻松完成了宽表转长表

经过上面的格式转换我们整理好了数据,接下来进行一个简单的可视化

直接上SQL语句

create table tb(顾客 varchar(10),商品 varchar(10),价格 int)

insert into tb VALUES ('张三','手表',74)

insert into tb VALUES ('张三','钱包',22)

insert into tb VALUES ('张三','食物',8)

insert into tb VALUES ('李四','手表',260)

insert into tb VALUES ('李四','钱包',100)

insert into tb VALUES ('李四','食物',100)

select * from tb

select * from tb pivot( MAX(价格) for 商品 in (手表,钱包,食物))a