虽然有几个人表示这个问题是重复的(它是,但尽管有 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 个参数)?谢谢!