为什么在具有相同数量元素的data.frame上进行比较需要更长的时间,但在向量化操作上排列在更多列中?举一个这个简单的例子,我们从每个元素中减去0.5,然后比较它,看它是否<0(与这个问题相关):
f.df <- function( df , x = 0.5 ){
df <- df - x
df[ df < 0 ] <- 0
return( df )
}
df1 <- data.frame( matrix( runif(1e5) , nrow = 1e2 ) )
df2 <- data.frame( matrix( runif(1e5) , nrow = 1e3 ) )
df3 <- data.frame( matrix( runif(1e5) , nrow = 1e4 ) )
require( microbenchmark )
microbenchmark( f.df( df1 ) , f.df( df2 ) , f.df( df3 ) , times = 10L …Run Code Online (Sandbox Code Playgroud)