【发布时间】:2013-01-21 17:58:27
【问题描述】:
我对 R 比较陌生,尽管我已经完成了大量简单的 R 编程。我认为这应该是一个简单的问题,但我似乎无法弄清楚。
更新:
情况是,由于计算机上的内存限制,我需要对数据进行分段以进行回归分析。我基本上有三个相关的矩阵,分别称为 X (n x k)、y (n x 1) 和 Om (n x n) 我需要将这三个矩阵按行分解,以各种方式将它们相乘,然后将结果相加。由于 Om 的错误结构,一些组必须是 3 行,其他 2 行和其他 1 行。对于 3 组,我们将有:
Xi (3 x k)、yi (3 x 1) 和 Om3 (3 x 3)
我已经在 R 中构建了 Om1、Om2 和 Om3
Om1<-matrix(2)
vec1<-c(2,-1)
vec2<-c(-1,2)
Om2<-rbind(vec1,vec2)
vec3<-c(2,-1,0)
vec4<-c(-1,2,-1)
vec5<-c(0,-1,2)
Om3<-rbind(vec3,vec4, vec5)
现在的问题是我如何分解 X 和 y 以便我可以匹配 X、y 和 Om 的行。我在想我需要一个循环,但不能让它像这样工作:
for(i in 1:280){
assign(paste("xh", i, sep = ""), i)
}
for(i in 1:145){
xhi<- X[i,]
}
for(i in 146:195){
xhi<-X[ seq( from=i , length=2) , ]
}
for(i in 196:280){
xhi<-X[ seq( from=(i+49) , length=3) , ]
}
前 145 个 xi 对应于 Om1,接下来的 50 个 xi 对应于 Om2...我想我需要一种方法来索引它们,这与最终我需要总结 xi 的乘积相同, yi 和 Omi 隔着 i 的
抱歉,这篇文章试图详尽,任何建议将不胜感激
【问题讨论】: