【问题标题】:R error in matrix 5 arguments passed to .Internal(matrix) which requires 7传递给 .Internal(matrix) 的矩阵 5 参数中的 R 错误需要 7
【发布时间】:2013-03-06 15:46:44
【问题描述】:

无论出于何种原因,每当我尝试运行以下代码时,都会收到错误消息5 arguments passed to .Internal(matrix) which requires 7

library(randomForest)
set.seed(647)
myiris <- cbind(iris[1:4], matrix(runif(508 * nrow(iris)), nrow(iris), 508))

通过搜索,我找到了其他几个遇到类似问题的人,但这些人的解决方案似乎都没有对我有用。我运行的R版本如下:

    R version 2.15.3 (2013-03-01) -- "Security Blanket"
    Copyright (C) 2013 The R Foundation for Statistical Computing
    ISBN 3-900051-07-0
    Platform: x86_64-w64-mingw32/x64 (64-bit)

当我运行 searchpaths() 时,我得到以下信息:

searchpaths()
 [1] ".GlobalEnv"                                                "C:/Users/XXXX/Documents/R/win-library/2.15/randomForest"
 [3] "tools:rstudio"                                             "C:/Program Files/R/R-2.15.3/library/stats"                
 [5] "C:/Program Files/R/R-2.15.3/library/graphics"              "C:/Program Files/R/R-2.15.3/library/grDevices"            
 [7] "C:/Program Files/R/R-2.15.3/library/utils"                 "C:/Program Files/R/R-2.15.3/library/datasets"             
 [9] "C:/Program Files/R/R-2.15.3/library/methods"               "Autoloads"                                                
[11] "C:/PROGRA~1/R/R-215~1.3/library/base"   

我猜测问题出自 [11],但不确定如何永久更改它。我在我的计算机上卸载了所有以前版本的 R 并重新安装了 2.15-3,但我仍然得到:

[11] "C:/PROGRA~1/R/R-215~1.3/library/base"

任何解决此问题的帮助将不胜感激。谢谢!

【问题讨论】:

  • 我无法在 2.15.2 和 OS X 上重现此错误。
  • 也适用于我,R 2.15.2 和 Windows 7。
  • 如果你写matrix,并寻找以.Internal(matrix(开头的行,有多少个参数?
  • 当我输入 matrix 时,我得到以下信息:.Internal(matrix(data, nrow, ncol, byrow, dimnames)) 我记得有人提到过这一点,但他们找到的任何解决方案都对我不起作用。我已经运行update.packages()(并且以管理员身份运行该程序),所以这似乎不太可能是问题所在。对于那些无法重现错误的人,这就是令人沮丧的原因。在工作的另一台电脑上,我没有问题,只有我在家里的个人电脑。
  • 根据您的搜索路径,您似乎使用 RStudio?如果你尝试原来的 Rgui,你会得到同样的错误吗?您也许还可以测试 R 修补版本:cran.r-project.org/bin/windows/base/R-2.15.3patched-win.exe

标签: r matrix


【解决方案1】:

我不认为问题出在搜索路径中,如果路径中有 R 版本号,base 的路径看起来总是很奇怪。

您的 randomForest 或其他软件包的版本可能太旧。尝试update.packages() 更新您的软件包。

【讨论】:

  • 感谢您的回复。问题不在于我所知道的 randomForest (或其他包),因为(尽管我忘了提及它)我之前运行过 update.packages() (在以管理员身份运行程序时)并且仍然有问题.即使没有加载任何包(除了启动 R 时加载的典型包),问题仍然存在。正如您在上面提到的,这可能与我的.Internal(matrix( 仅列出 5 个元素而不是 7 个这一事实有关。鉴于我已重新安装(删除后),为什么会出现这种情况,我不知道。
【解决方案2】:

如果这可能对其他人有所帮助...看来(无论出于何种原因...)我在默认工作区 (~.RData) 文件中定义了一个“矩阵”函数(默认情况下已保存,在 Documents 文件夹中,不幸的是,尽管多次卸载并重新安装该程序,但我从未想过在 Documents 文件夹中查找孤立的 R 文件)。

由于我几乎从不保存工作区(该文件的最后日期是 2011 年),我什至从未想过要在那里寻找问题(早在 2011 年,我什至怀疑我什至不知道如何编写函数......) .无论如何,从我的工作区中删除“矩阵”功能并重新保存工作区后,我不再有问题了。

此答案也适用于以下帖子:R (2.15.3; Vista x64) matrix base package: Error 5 arguments passed to .Internal(matrix) which requires 7

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 2016-11-25
    • 2021-01-27
    • 2017-03-12
    • 1970-01-01
    • 2018-05-28
    • 2019-12-03
    • 2020-07-31
    相关资源
    最近更新 更多