【发布时间】:2016-11-27 22:22:08
【问题描述】:
我真的是 R.. 的新手,我正在尝试将 print(w1) 的输出保存到以下循环的矩阵 (1001x4)(甚至是矩阵 4004x1)中,但对我来说这是不可能的.我试图在 print(w1)b[,i]<-1/n^2*(sum1+n+sum2) 之后将 w1 保存到矩阵中,但它只保存最后 4 个输出。我的代码是:
n=4
for(a in seq(0,1,0.001)){
for(i in 1:n){
sum1<-0
sum2<-0
for(j in 1:n){
if(j>i){
sum1<-sum1+(n/j)^a
}
else if(j<i){
sum2<-sum2-(n/i)^a
}
}
w1<-1/n^2*(sum1+n+sum2)
print(w1)
#b[,i]<-1/n^2*(sum1+n+sum2)
}
}
提前感谢您的帮助!阿纳斯塔西娅。
【问题讨论】:
-
如果您不在所有 for 循环内的分配的 LHS 上使用索引,您将在每次循环中覆盖这些值。这似乎是 R 新手中非常常见的错误,可能是因为 SAS 和 SPSS 语言具有隐式行索引,当人们转向其他语言时,他们不理解这一事实。我怀疑来自“真实”编程语言的人会面临同样的认知障碍。