Skip to content
Prev 313040 / 398503 Next

data manipulation between vector and matrix

Hi,

By comparing the different methods:
set.seed(5)
?mat1<-matrix(sample(1:1e6,1e6,replace=TRUE),ncol=10000)
?set.seed(25)
?x<-sample(1:1e6,10000,replace=TRUE)
?system.time(z1<-sweep(-mat1,2,x,"+"))
#?? user? system elapsed 
?# 0.076?? 0.000?? 0.069 
?system.time(z2<-apply(-mat1,1,`+`,x))
?#? user? system elapsed 
?# 0.036?? 0.000?? 0.031 
?system.time(z3<-aaply(-mat1,1,`+`,x))
#?? user? system elapsed 
#? 1.880?? 0.000?? 1.704 
?system.time(z4<- x-t(mat1))? #winner
#?? user? system elapsed 
?# 0.004?? 0.000?? 0.007 
?system.time(z5<- t(x-t(mat1)))
#?? user? system elapsed 
#? 0.008?? 0.000?? 0.009 


A.K.