全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5830 7
2014-04-16
请问一下如何在R中进行分组转置呢,在SAS中有transpose 里面有分组的参数,直接搞定,但是R中的t(x)没有这个参数。
例如:
编码   名称      供应商111   阿莫西林   公司AAA
111   阿莫西林   公司BBB
111   阿莫西林   公司CCC
222   达克宁     公司CCC
222   达克宁     公司BBB
333   康泰克     公司BBB
444   阿莫西林1   公司AAA
444   阿莫西林1   公司BBB
444   阿莫西林1   公司CCC   

希望得到数据表B,处理结果如下:
编码   名称      供应商1      供应商2      供应商3     供应商4  ...
111   阿莫西林   公司AAA      公司BBB      公司CCC
222   达克宁     公司CCC      公司BBB
333   康泰克     公司BBB

444   阿莫西林1   公司AAA     公司BBB      公司CCC



这个我应该怎么处理才能够实现我想要的结果,请高手指点一下。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-4-16 17:56:59
你这个转置的结果太高级了
   还是先处理下(merge)吧。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-4-16 22:12:21
用split啊。

f=c("阿莫西林","阿莫西林","阿莫西林","达克宁","达克宁","康泰克","阿莫西林","阿莫西林","阿莫西林")
x=c("公司AAA","公司BBB","公司CCC","公司CCC","公司BBB","公司BBB","公司AAA","公司BBB","公司CCC")
split(x,f)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-4-17 08:34:50
在R里没有直接和SAS的TRANSPOSE对应的函数
但有一个reshape2包,可以实现同样的功能
你可以参考下面的链接
http://www.loyhome.com/%e6%8e%a2 ... %e4%bc%b4%e4%be%a3/

你这里的问题应该用下面的代码就行了,没有试,可能有问题
data <- melt(data, id=c("编码","名称"))
dcast(data, 编码 ~ 名称 + variable)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-4-17 13:52:38
多谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-10-20 15:13:45
wencycooll 发表于 2014-4-17 13:52
多谢。
你好,请问您是如何解决这个问题的呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群