Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算';帽子';R中的矩阵_R_Lm_Least Squares - Fatal编程技术网

计算';帽子';R中的矩阵

计算';帽子';R中的矩阵,r,lm,least-squares,R,Lm,Least Squares,在计算加权最小二乘法中的“帽子”矩阵时,计算的一部分是 X^T*W*X 然而,我不确定在R中如何做到这一点 请参见以下示例: x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T) xt <- t(x) w <- as.vector(c(7,8,9)) xt*w%*%x 有什么基本的东西我误解了吗 编辑 给出了错误: Error in xt * w %*% x : non-conformable arrays Error in

在计算加权最小二乘法中的“帽子”矩阵时,计算的一部分是

X^T*W*X
然而,我不确定在R中如何做到这一点

请参见以下示例:

x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- as.vector(c(7,8,9))

xt*w%*%x
有什么基本的东西我误解了吗

编辑

给出了错误:

Error in xt * w %*% x : non-conformable arrays
Error in xt %*% w %*% x : non-conformable arguments

我对回归有点生疏,但我认为
hatvalues
函数正是您需要的<代码>?hatvalues提供了一种有用的其他诊断方法。

我对回归有点生疏,但我认为
hatvalues
函数正是您需要的<代码>?hatvalues提供了一种有用的其他诊断方法。

我对回归有点生疏,但我认为
hatvalues
函数正是您需要的<代码>?hatvalues提供了一种有用的其他诊断方法。

我对回归有点生疏,但我认为
hatvalues
函数正是您需要的<代码>?hatvalues提供了一种有用的其他诊断方法。

在R代码中,w是一个向量。它应该是一个对角矩阵:

替换此行:

w <- as.vector(c(7,8,9))

w在R代码中,w是一个向量。它应该是一个对角矩阵:

替换此行:

w <- as.vector(c(7,8,9))

w在R代码中,w是一个向量。它应该是一个对角矩阵:

替换此行:

w <- as.vector(c(7,8,9))

w在R代码中,w是一个向量。它应该是一个对角矩阵:

替换此行:

w <- as.vector(c(7,8,9))

w
w
需要为3x3,因此使用
diag
将w构造为矩阵,这些值位于对角线上,而不是使用向量

x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))

xt %*% w %*% x

x
w
需要是3x3,因此使用
diag
将w构造为矩阵,这些值位于对角线上,而不是使用向量

x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))

xt %*% w %*% x

x
w
需要是3x3,因此使用
diag
将w构造为矩阵,这些值位于对角线上,而不是使用向量

x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))

xt %*% w %*% x

x
w
需要是3x3,因此使用
diag
将w构造为矩阵,这些值位于对角线上,而不是使用向量

x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))

xt %*% w %*% x


x您只对其中一个乘法使用了矩阵乘法。我已经编辑了问题w需要为3x3才能起作用。你想让你的三个值在一个3x3矩阵的对角线上吗?正如Dason所说,你需要
xt%*%diag(w)%*%x
,因为
w
根据定义需要是一个对角线矩阵。啊哈!是的,我在读了你的评论后才意识到这一点。非常感谢。如果你想把它写下来作为一个答案,我很乐意接受。你只在其中一个乘法中使用了矩阵乘法。我已经编辑了问题W需要是3x3才能起作用。你想让你的三个值在一个3x3矩阵的对角线上吗?正如Dason所说,你需要
xt%*%diag(w)%*%x
,因为
w
根据定义需要是一个对角线矩阵。啊哈!是的,我在读了你的评论后才意识到这一点。非常感谢。如果你想把它写下来作为一个答案,我很乐意接受。你只在其中一个乘法中使用了矩阵乘法。我已经编辑了问题W需要是3x3才能起作用。你想让你的三个值在一个3x3矩阵的对角线上吗?正如Dason所说,你需要
xt%*%diag(w)%*%x
,因为
w
根据定义需要是一个对角线矩阵。啊哈!是的,我在读了你的评论后才意识到这一点。非常感谢。如果你想把它写下来作为一个答案,我很乐意接受。你只在其中一个乘法中使用了矩阵乘法。我已经编辑了问题W需要是3x3才能起作用。你想让你的三个值在一个3x3矩阵的对角线上吗?正如Dason所说,你需要
xt%*%diag(w)%*%x
,因为
w
根据定义需要是一个对角线矩阵。啊哈!是的,我在读了你的评论后才意识到这一点。非常感谢。如果你想写它作为一个答案,我很乐意接受它,我只需要X^TWX,所以我只需要知道如何使该部分工作,要么“手动”,要么通过一些功能我只需要X^TWX,所以我只需要知道如何使该部分工作,要么“手动”,要么通过一些功能我只需要X^TWX,所以我只需要知道如何让那个零件“手动”或通过某种功能工作我只需要X^TWX,所以我只需要知道如何让那个零件“手动”或通过某种功能工作OP需要做的就是
w OP需要做的就是
w OP需要做的就是
w OP需要做的就是
w OP需要做的就是
w