我目前正在尝试在R中复制module.exports = class BotUpdateHandler {
handle(update) {
// eslint-disable-next-line global-require
const Bot = require('./Bot');
// code ....
const txt = update.text;
const command = Bot.getCommandIndex(txt);
}
}
函数,以便更好地理解。不幸的是,我的解决方案仅对对称矩阵有用。
diag()
对于所有可以概括我的功能的技巧,我将不胜感激。
答案 0 :(得分:3)
错误来自循环遍历min(nrow, ncol)
。
diagnew <- function(x){
n <- min(nrow(x), ncol(x))
k <- vector(class(x[1,1]), n)
for(i in seq.int(n)){
k[i] <- x[i,i]
}
k
}
mat <- matrix(1:10, 5)
diag(mat)
diagnew(mat)
identical(diag(mat), diagnew(mat))
#[1] TRUE