我正在编写一个必须构建一个大型矩阵的脚本。我想为每个名称取一个名称向量从不同的数据框中获取数据对其进行一些操作,然后返回该名称的数据向量。例如:
allNew=matrix(ncol=ncol(X)-1);
for(name in list)
{
tmpdata=all[grep(names,list$Names),];
data=(as.data.frame(apply(tmpdata[,2:(ncol(tmpdata)-1)],2,sum))==nrow(tmpdata))*1
colnames(data)=name;
data=t(data);
allNew=rbind(allNew,data);
}
名称列表的长度在 10000 范围内,每个名称 tmpdata 有 1-5 行。我在我的实验室 linux 服务器上运行我的代码,大约 8 GB 内存,
不知何故,我觉得这比它应该花费的时间要长得多,需要几分钟。我怎样才能更有效地做到这一点?