数据帧与矩阵的运行时差异

问题描述

cos.sim <- function(X,ix) 
{
  A = X[ix[1],]
  B = X[ix[2],]
  return( sum(A*B)/sqrt(sum(A^2)*sum(B^2)) )
}   


library(pbapply)
X = matrix(runif(512*100),ncol=512)
Y = data.frame(X)


res = pbsapply(1:100,function(x) cos.sim(X,c(1,x)) )
res = pbsapply(1:100,function(x) cos.sim(Y,x)) )

计算结果时,第一行花费0秒,而第二行花费10倍的时间。可能是什么原因?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)