0

虽然有几个人表示这个​​问题是重复的(它是,但尽管有 hemmo 的帮助,我们还是无法解决这个问题......)。在这篇文章中,我 1) 提供了一些关于我遇到的问题的额外信息,并且 2) 询问我如何将矩阵函数的基本代码编辑为帖子底部显示的代码。

谁能告诉我如何更新基础包中的矩阵函数?我正在运行全新安装 2.15.3(并且我删除了我可以找到的所有 R 相关文件(从以前的安装中)并且还尝试在重新安装 2.15.3 之前清理注册表),但是每当我尝试时都会收到以下错误使用matrix

cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2") 
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
dimnames=list(rnames, cnames))

Error in matrix(cells, nrow = 2, ncol = 2, byrow = TRUE, dimnames = list(rnames, : 5 arguments passed to .Internal(matrix) which requires 7

有趣的是,如果我输入mymatrix <- as.matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames=list(rnames, cnames))没有错误,但输出不正确:

     [,1]
[1,]    1
[2,]   26
[3,]   24
[4,]   68

当我matrix单独输入时,我得到以下信息:

function (data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL) 
{
data <- as.vector(data)
if (missing(nrow)) 
    nrow <- ceiling(length(data)/ncol)
else if (missing(ncol)) 
    ncol <- ceiling(length(data)/nrow)
.Internal(matrix(data, nrow, ncol, byrow, dimnames))
}
<environment: namespace:base>

从我之前的几篇文章中,我可以找到类似的错误消息,似乎打字matrix应该导致以下结果:

function (data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL) 
{ 
if (is.object(data) || !is.atomic(data)) 
    data <- as.vector(data) 
.Internal(matrix(data, nrow, ncol, byrow, dimnames, missing(nrow), 
    missing(ncol))) 
} 
<environment: namespace:base>

有谁知道我如何编辑matrix基础包中的函数,使其看起来像上面的代码(带有 7 个参数)?谢谢!

4

0 回答 0