全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1900 3
2016-11-16
小弟最近在写一个关于分子标记指纹图谱的包,数据如下图

无标题.png
第一列为品种名,其它列为标记,每行一个观测,现在要从所有标记中选择n个标记,重新组合成图1的形式,计算一些参数。我建了一个函数,进行标记的全组合:
fun<- function(input,n) {
  dna_n<- input[1];
  com<- combn(names(input[-1]),n);
  number<- choose(ncol(input)-1,n);
   for(i in 1:number) dna_n[paste(com[,i],collapse = "+")]<- droplevels(interaction(subset(input,select = com[,i])))
  return(dna_n)
}

参数input为图1的数据,n为选取的标记数,这个函数比较暴力,将所有组合都列出,在进行一步计算比较,在标记较小的时候可以很好的实现,但是当标记数太大的时候,运行速度很慢,使用并行运算也没有很好的改善。期望有大神能不能帮忙修改下代码,提高速度,或者提高一个比较好的抽样算法提高我这个穷举法。
二维码

扫码加我 拉你入群

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

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

全部回复
2016-11-18 10:15:49
没有大神帮忙吗?
二维码

扫码加我 拉你入群

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

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

2016-11-18 10:51:32
二维码

扫码加我 拉你入群

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

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

2016-11-18 15:32:59
张元明38 发表于 2016-11-18 10:51
灌水啊
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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