全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2697 10
2018-04-13
悬赏 20 个论坛币 已解决
有一个基因数据矩阵mat,约20000行*300列,格式如下,取值为A、T、G、C四个值,其中T为高频值,其余均为低频值。
现在需要做类似矩阵相乘的运算:mat %*% t(mat),得到一个20000*20000的矩阵matrix,运算时定义若两个值相等,则乘积为0,如A*A=0;若两个值不等,则乘积为1,如A*T=1。
例如:
2.jpg
请教高手在R语言里面有没有办法实现,万分感谢。


数据示例:
MrkID

y1

y2

y3

y4

x1C

T

T

T

x2

T

T

T

T

x3

T

T

T

T

x4

T

T

T

T

x5

T

C

T

T

x6

T

T

T

T

x7

T

T

T

T

x8

T

T

T

T

x9

T

T

T

T

x10

T

T

T

T

x11G

T

T

T

x12

T

T

T

T

x13G

T

T

T

x14

T

T

T

T

x15

T

T

T

A
x16

T

T

T

T

x17

T

T

T

T

x18

T

G

T

T

x19

T

T

T

T



x.xlsx

大小:10.29 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-13 22:30:11
复制代码
二维码

扫码加我 拉你入群

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

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

2018-4-15 09:51:33
qoiqpwqr 发表于 2018-4-13 22:30
厉害,谢谢高手。还有一个问题,由于我的数据有20000行,这个for循环耗时比较长,而我这个计算矩阵的过程又会被循环使用很多次,这样就会耗时很长,有没有办法提升这个for循环的效率,或者可否使用apply族函数来代替这个for循环?

二维码

扫码加我 拉你入群

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

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

2018-4-17 15:16:20
kanzongxuan 发表于 2018-4-15 09:51
厉害,谢谢高手。还有一个问题,由于我的数据有20000行,这个for循环耗时比较长,而我这个计算矩阵的过程 ...
程序跑成功没有?
二维码

扫码加我 拉你入群

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

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

2018-4-17 15:40:33
2楼的程序跑成功了,只是耗时比较长,完成矩阵的输出近2个小时,还在琢磨怎样提高效率,因为要反复循环算很多个类似的矩阵。
二维码

扫码加我 拉你入群

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

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

2018-4-17 15:41:00
cheetahfly 发表于 2018-4-17 15:16
程序跑成功没有?
2楼的程序跑成功了,只是耗时比较长,完成矩阵的输出近2个小时,还在琢磨怎样提高效率,因为要反复循环算很多个类似的矩阵。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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