Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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_Matrix - Fatal编程技术网

通过索引在R中编写矩阵

通过索引在R中编写矩阵,r,matrix,R,Matrix,我想在R中创建这个矩阵,但是我的代码给了我所有元素的零 其中对角线为1,与对角线相邻的元素为0.25。 n=97 W=矩阵(0,n,n) diag(W)=1 for(1中的i:行计数){ 对于(j in 1:rowCount){ 如果(j==i){W[i,j]=1 }如果(j==i-1){W[i,j]=0.25 }如果(j==i+1){W[i,j]=.25} }}您可以使用diag将对角线元素设置为1,然后使用行列将对角线附近的元素设置为0.25 n <- 5 mat <- di

我想在R中创建这个矩阵,但是我的代码给了我所有元素的零

其中对角线为1,与对角线相邻的元素为0.25。

n=97
W=矩阵(0,n,n)
diag(W)=1
for(1中的i:行计数){
对于(j in 1:rowCount){
如果(j==i){W[i,j]=1
}如果(j==i-1){W[i,j]=0.25
}如果(j==i+1){W[i,j]=.25}

}}
您可以使用
diag
将对角线元素设置为1,然后使用
列将对角线附近的元素设置为0.25

n <- 5
mat <- diag(1, n)
mat[abs(row(mat) - col(mat)) == 1] <- 0.25
mat

#     [,1] [,2] [,3] [,4] [,5]
#[1,] 1.00 0.25 0.00 0.00 0.00
#[2,] 0.25 1.00 0.25 0.00 0.00
#[3,] 0.00 0.25 1.00 0.25 0.00
#[4,] 0.00 0.00 0.25 1.00 0.25
#[5,] 0.00 0.00 0.00 0.25 1.00

那么你的问题到底是什么?您的代码似乎正常工作(假设您将
rowCount
更改为
n
或反之亦然)。问题是我的代码不正常工作,所有元素都为零。您的代码中是否在其他地方定义了
rowCount
?现在还没有定义。也许这是你的问题。