【发布时间】:2017-02-20 04:06:11
【问题描述】:
我是 R 的初学者。我有两个行数相同(比如说 10)和许多列的矩阵。我想在matrixA的eacg行和matrixB的相应行之间使用glm进行线性回归。我想在一个新矩阵中打印残差,该矩阵的行数与原始矩阵相同:
matrixA <- read.table("fileA.txt", header=TRUE, row.names=1)
matrixB <- read.table("fileB.txt", header=TRUE, row.names=1)
for(i in 1:10) {
response = as.matrix(matrixA)[i,]
predictor = as.matrix(matrixB)[i,]
fit <- glm(response ~ predictor)
residuals[i,] <- fit$residuals
}
但是,我收到此错误:
Error in residuals[1, ] <- fit$residuals :
incorrect number of subscripts on matrix
我稍微查了一下这个错误,并认为它可能没有将 fit$residuals 识别为向量,所以我尝试指定它(as.vector(fit$residuals)),但这并没有解决它。
知道如何解决这个问题吗?谢谢!
矩阵的格式(两者具有相同的格式)
a b c d f
A 1.0 2.0 3.0 4.0 5.0
B …
C
D
E
F
G
H
I
J
【问题讨论】:
-
我能问一下为什么我的问题被否决了吗?
-
residuals来自哪里?你真的希望它是二维的吗? -
你可以,但只有反对者才能回答。但是,我可以告诉您,如果您也提供数据,我(和其他人)会更愿意提供帮助。见这里:stackoverflow.com/questions/5963269/…
-
我不确定我是否理解您的问题。你的意思是“残差[i,]
-
我发布了我的数据格式。抱歉,我只是没有看到这有什么帮助