如何将五个for循环简化为嵌套的for循环?
我试图计算1000个矩阵的L2条件数。但是,我是针对不同维度的矩阵来做的。例如,我计算1000个5x5矩阵的L2条件数,然后再做同样的事情,但要计算10x10矩阵,以此类推 我已经完成了这个问题,但是这里的问题是我有5个for循环,它们做同样的事情。我知道我可以通过嵌套for循环来简化代码,但我不知道该怎么做。我在下面附上了我的代码 请注意,这些数字是根据矩阵的维数随机生成的如何将五个for循环简化为嵌套的for循环?,r,for-loop,nested-loops,R,For Loop,Nested Loops,我试图计算1000个矩阵的L2条件数。但是,我是针对不同维度的矩阵来做的。例如,我计算1000个5x5矩阵的L2条件数,然后再做同样的事情,但要计算10x10矩阵,以此类推 我已经完成了这个问题,但是这里的问题是我有5个for循环,它们做同样的事情。我知道我可以通过嵌套for循环来简化代码,但我不知道该怎么做。我在下面附上了我的代码 请注意,这些数字是根据矩阵的维数随机生成的 #Set up for loops set.seed(2019) CN5 <- NULL CN10 <-
#Set up for loops
set.seed(2019)
CN5 <- NULL
CN10 <- NULL
# First for loop for n = 5
## n = 5
for(i in 1:1000){
CN5[i] <- kappa(matrix(rnorm(25), nrow = 5))
}
mean(CN5)
sd(CN5)
median(CN5)
#Second for loop with n = 10
## n = 10
for(i in 1:1000){
CN10[i] <- kappa(matrix(rnorm(100), nrow = 10))
}
mean(CN10)
sd(CN10)
median(CN10)
#为循环设置
种子集(2019年)
CN5看起来你可以把这些放在同一个循环中:
for(i in 1:1000){
CN5[i] <- kappa(matrix(rnorm(25), nrow = 5))
CN10[i] <- kappa(matrix(rnorm(100), nrow = 10))
}
for(1:1000中的i){
CN5[i]看起来你可以把这些放在同一个循环中:
for(i in 1:1000){
CN5[i] <- kappa(matrix(rnorm(25), nrow = 5))
CN10[i] <- kappa(matrix(rnorm(100), nrow = 10))
}
for(1:1000中的i){
CN5[i]注释中建议的一般程序是,编写一个带有参数的函数,该参数考虑了不同迭代之间(或可能)的变化
从您的代码中,唯一变化的是方阵的维数nxn
set.seed(2019年)
cn_function注释中建议的一般过程是,编写一个带有参数的函数,该参数考虑了不同迭代之间(或可能)的变化
从您的代码中,唯一变化的是方阵的维数nxn
set.seed(2019年)
cn_函数经验法则是,如果你需要重复某件事两次以上,为该任务编写一个函数。经验法则是,如果你需要重复某件事两次以上,为该任务编写一个函数。