![](/img/trans.png)
[英]Error in diag(csvfiles[, x:ncol(csvfiles)]) : (list) object cannot be coerced to type 'double'
[英]diag error: nrow or ncol cannot be specified when x is a matrix
diag(nrow(V) * tausq, nrow = ncol(V), ncol = ncol(V)) 中的錯誤:當“x”是矩陣時,不能指定“nrow”或“ncol”
這是我嘗試運行時遇到的錯誤
D <- diag(nrow(V)*tausq, nrow=ncol(V), ncol=ncol(V))
這是我編寫的函數的一部分。
它是函數的第一行,V 是一個矩陣,它是參數的一部分。
這個錯誤是什么意思?
從?diag
,您可以了解到該函數執行以下兩件事之一——它要么提取傳遞矩陣的主對角線,要么構造一個新的對角矩陣。 如果您正試圖(通過傳遞矩陣作為第一個參數來提取矩陣的主對角線diag
),那么你就無法通過nrow
和ncol
參數的diag
功能。
錯誤告訴您顯然nrow(V)*tausq
是您代碼中的矩陣——因為nrow(V)
是一個常數,我們得出結論tausq
必須是一個矩陣。 其結果是,它給你一個錯誤,由於設置nrow
和ncol
。
長話短說——你似乎假設nrow(V)*tausq
是一個常數,但實際上它是一個矩陣。 您需要將tausq
轉換為常量才能按需要進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.