全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
17405 5
2017-10-09
悬赏 10 个论坛币 未解决
现在有如下格式的数据:

D1D2D3D4
O1

7

3

9

3

O2

7

2

8

2

O3

2

0

2

10

想变成下面的格式:
fromtoflow
O1D1

7

O2D1

7

O3D1

2

O1D2

3

O2D2

2

O3D2

0

O1D3

9

O2D3

8

O3D3

2

O1D4

3

O2D4

2

O3D4

10

不知道用R语言应该如何实现呢?一个格子一个格子操作的话,速度太慢了。好像可以用apply族函数?
求有经验的朋友指点,谢谢!


二维码

扫码加我 拉你入群

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

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

全部回复
2017-10-9 18:04:53
reshape2包的melt函数
二维码

扫码加我 拉你入群

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

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

2017-10-9 20:41:50
tidyr很方便。
注:tidyr是reshape2的加强升级版。
二维码

扫码加我 拉你入群

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

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

2017-10-9 20:52:26
复制代码
library(tidyr)
from=c("O1","O2","O3")
D1=c(7,7,2)
D2=c(3,2,0)
D3=c(9,8,2)
D4=c(3,2,10)
df=data.frame(from,D1,D2,D3,D4)
df %>%
  gather(to,flow,-from)
二维码

扫码加我 拉你入群

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

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

2017-10-9 20:56:47
复制代码
二维码

扫码加我 拉你入群

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

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

2017-11-15 11:28:53
用reshape也挺简单的:
复制代码


结果:
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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