如何在R中的谱系包中的“makeA”函数中使用“which”参数来更快地运行?

时间:2017-12-03 23:23:07

标签: r performance large-data

我在R的“血统”包中使用“makeA”函数,尝试根据谱系文件创建两只绵羊之间相关系数的矩阵。

我的血统文件中有大约56,000只绵羊,其中只有大约26,000只是我需要相关系数的绵羊(因为它们是唯一剩下的活羊)。

我如何使用“which”参数来指定我只想要“状态”列值为“0”的绵羊的相关系数(表明动物还活着/手头)?

我认为如果我能做到这一点,它会使功能运行得更快(此时需要超过30分钟)。有没有人有任何其他可能使它更快的指针?打开尝试任何东西(在我有限的R知识范围内)。

这是我的代码:

library(pedigree)
library(data.table)
library(dplyr)

ped <- read.csv("ped.csv", header = TRUE)


start <- Sys.time()
makeA(ped,which = c(rep(TRUE,NROW(ped))))
end <- Sys.time()
end - start

我稍后会有更多处理步骤,但我甚至没有超过为实际(大)数据集创建原始矩阵的步骤。

请注意,对于较小的数据集,该功能几乎可以立即生效。

0 个答案:

没有答案