我正在尝试使用for循环创建一个乘法表。我是编程新手,R是我学习的第一种语言,因此我想知道循环内部的哪些函数更快、更有效。目前,我没有使用apply家族的方法,因为我认为理解基本函数如循环非常重要。
以下是我用来创建乘法表的两种方法:
使用dim()
函数:
mtx <- matrix(nrow=10, ncol=10)
for(i in 1:dim(mtx)[1]){
for(j in 1:dim(mtx)[2]){
mtx[i,j] <- i*j
}
}
使用ncol
/nrow()
函数:
mtx <- matrix(nrow=10, ncol=10)
for(i in 1:ncol(mtx)){
for(j in 1:nrow(mtx)){
mtx[i,j] <- i*j
}
}
哪种方式更高效、更普遍适用呢?
谢谢。
ncol
的代码吗? - A5C1D2H2I1M1N2O1R2T1(1:rows) %*% t(1:cols)
。 - Rolandtcrossprod(1:rows, 1:cols)
。 - Roland