问题标签 [microsoft-r]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - lme() 不同的结果在Revolution R下运行(责备MKL?)
更新(2014 年 8 月):我从未深究此事,也从未在 Revolution 论坛上得到任何反馈。然而,这个问题似乎已在 Revolution R 7.2 中得到解决(使用 R 3.0.3,同样是学术版本)。我运行了几百次以下的 lme() 测试,所有结果都和预期的一样。[更新结束]
我刚刚在一台新 PC 上安装了革命 R 7.0 (R 3.0.2) 的学术版,下面的代码得到了奇怪的结果。每次运行代码时,它都会给出不同的结果。在 CRAN-R 下,结果总是相同的(我认为应该如此)。代码片段来自test.data.table()
版本 1.8.10 的测试 527,它指出了错误。
我得到类似下面的东西,但每次都不一样。
'有趣'的事情是nlme
包(其中lme()
的一部分)本身是相同的,我卸载并重新安装以确保(包的 nlme_3.1-113.zip 文件是逐位相同的)。
我还不够了解,无法深入了解。任何指针或想法将不胜感激。我也在Revolutions的论坛上发过帖子,但这里的人似乎比这里少得多……
这是在 64 位 Windows 8.1、64 位 R 以及 Intel i7-4770 CPU 下(如果重要)。当前版本的 Revolution R (R 3.0.2) 和之前的 (2.15.3) 都会产生意想不到的(对我而言)行为。CRAN-R 3.0.1 和 3.0.2 产生相同的结果。
革命 R 的 sessionInfo() 输出:
更新 1: 我已经将问题(遵循下面的答案和评论中的一些指针)追溯到 Revolution R 使用英特尔 MKL BLAS 库的事实。如果我切换到 CRAN 提供的 BLAS 库,问题就会消失。(注意:我对自己编译 R 的了解不够,所以我没有测试过 OpenBLAS 和其他替代方案。在 Revolution R 中,只需重命名两个 dll-s。)。
似乎其他人也得到了与 MKL 不一致的结果。机器公差内存在差异,即为all.equal()
TRUE 而identical()
为 FALSE。在我的案例中,不同的结果似乎非常大。
我已经在 Revolution R 的论坛上发布了这个问题,如果我得到回复,我会在这里更新。我想此时我的问题应该修改为“何时使用 MKL BLAS 以及何时使用 CRAN-R BLAS”。这不是速度(*)的问题,而是一致和正确的结果。我将花更多时间寻找标准测试套件(不确定此处的术语?)以检查 R 的输出与已知正确的输出。这是我喜欢的事情之一data.table
,它有自己的测试对最终用户可见。我知道我不应该期望包含所有(甚至大多数)包的单个测试,但至少涵盖基本功能的东西。
(*) 速度取决于具体的工作流程。在这种特殊情况下,CRAN BLAS 比 MKL 快(都运行单线程)。在其他工作中,Revolution R 的速度要快得多,这就是我研究它的原因。
r - 在 RevoScaleR 函数中使用 transformEnvir 后环境未按预期运行
我有一个函数,我正在使用 rxXdfToDataFrame 读取 xdf 文件,并在我的表达式中使用变量进行 rowSelection。如果我不通过transformEnvir=environment()
,则找不到该变量。我的问题是,用 调用函数后transformEnvir
,我似乎无法可靠地访问.GlobalEnv
. 如果我将一个数字硬编码到rowSelection
我不需要使用transformEnvir
并且一切正常。我尝试设置环境,但我不确定我是否做得正确。
以下代码重现了我的问题:
发生的错误:
但是,如果使用 , 而不是setDT()
,data.table::setDT()
则函数执行。
编辑:我忘了提到我已经尝试过没有transformEnvir
设置并且一切正常。此外,tables() 已更改为 setDT() 以避免可能的混淆。
r - 默认情况下让 RStudio 在 RRO 上运行
我从以下位置安装了 R Open 的 beta 版本:
http://mran.revolutionanalytics.com/documents/rro/installation/
它还安装了通常的 R GUI,我在 MRAN 站点上找不到切换到 RStudio 的文档。有人找到了让 RStudio 在 RRO 上运行的方法吗?
r - 在优胜美地和 RRO 上安装 png
我正在尝试在 macbookpro 2014 和优胜美地上安装包 png。
我正在使用 RRO(但我相信我会遇到与 R 类似的问题)。
这是我在 RRO 控制台上看到的内容:
另一方面,我已经安装(使用自制软件)libpng,我可以在终端上输入 libpng-config 并得到响应
我的选择已经不多了...
r - 错误:在 Revolution R Open 中找不到函数“rxGetOption”
我下载并安装了Revolution R Open。R 的当前版本是 3.1.1 (2014-07-10) -- “Sock it to Me”,Revolution R Open 的版本是 8.0 beta。我已经开始了将数据转换为 .xdf 格式(Revolution 内部)的基本教程。
但是我收到以下错误:
file.path 中的错误(rxGetOption(“data”),:找不到函数“rxGetOption”
在我看来,这是一个新手错误。无论如何,我只是用谷歌搜索找不到答案。请帮助我解决错误问题。
r - 为 rxImport 设置分隔符
我目前正在尝试使用 rxImport:
但是我需要将文件上的分隔符设置为“|”。
在 R 中读取的标准文件中:
我可以设置分隔符。如何使用 rxImport 执行此操作?
r - rxImport、colClasses 和 RxTextData
我正在尝试csv
使用 Revolution Analytics 导入文件。
我的代码如下:
在启动代码之前我注意删除myXdf
并使用扫描前 1000 个元素来定义 vector colClasses
。
它给了我以下错误:
有人已经遇到过这个错误吗?
r - R中的大型固定效应二项式回归
我需要对具有 480.000 个条目和 3 个固定效应变量的相对较大的数据框运行逻辑回归。固定效应 var A 有 3233 级,var B 有 2326 级,var C 有 811 级。所以总的来说我有6370个固定效果。数据是横截面的。如果我无法使用正常glm
函数运行此回归,因为回归矩阵对于我的记忆来说似乎太大(我收到消息“ Error: cannot allocate vector of size 22.9 Gb
”)。我正在寻找在我的 Macbook Air(OS X 10.9.5 8GB RAM)上运行此回归的替代方法。我还可以访问具有 16GB RAM 的服务器。
我已经尝试以几种不同的方式解决这个问题,但到目前为止都没有产生令人满意的结果:
lfe/felm:使用lfe
包的 felm 回归函数,在运行回归之前减去固定效应。这完美地工作,并允许我在短短几分钟内将上述回归作为正常的线性模型运行。但是,lfe
不支持逻辑回归和 glms。所以 felm 非常适合了解模型是否适合不同模型,但不适用于最终的逻辑回归模型。
biglm/bigglm:我考虑过使用bigglm
将我的功能分解成更易于管理的块。但是,有几个来源(例如link1、link2、link3) 提到为了使它起作用,因子水平需要跨块保持一致,即每个块必须包含每个因子变量的每个因子中的至少一个。因素 A 和 B 包含只出现一次的关卡,因此我无法将这些集合分成具有一致关卡的不同块。如果我删除 10 个固定效应 A 因子和 8 个 B 因子(一个微小的变化),我将只剩下 4 个以上水平的因子,将我的数据分成 4 个块将使它更易于管理。但是,我仍然需要弄清楚如何对我的 df 进行排序,以确保我的 480.000 个条目被分类为 4 个块,其中 3 个因子中的每个因子的每个因子级别至少出现一次。
GlmmGS/glmgs:glmmgs
同名包中的函数执行固定效应减法,就像lfe
使用“Gauss-Seidel”算法进行逻辑回归的包一样。不幸的是,该软件包不再被开发。对 R 来说相对较新,并且对统计没有深入的经验,我无法理解输出,也不知道如何以一种可以给我正常的“效果大小”、“模型拟合”、“ glm 回归摘要提供的显着性区间”指标。
我向包的作者发送了一条消息。他们友好地回应如下:
该包不提供与 glm 对象相同格式的输出。但是,给定当前输出(在 CRAN 版本中,我相信当前输出是系数估计的向量,以及相关向量标准误差;对于协方差分量也是如此,但如果您正在拟合没有随机效应的模型,则不必担心它们)。请注意,用于计算标准误差的协方差矩阵是与 Gauss-Seidel 算法相关的精度矩阵的对角块的逆矩阵,因此它们往往会低估联合似然的标准误差。我不再维护该软件包,也没有时间了解具体细节; 手册中引用的纸张,其他一切都需要您用笔和纸来解决:)。
如果有人可以解释如何“轻松计算大多数拟合统计数据”,让没有任何统计学知识的人可以理解它(可能是不可能的),或者提供 R 代码来举例说明如何做到这一点,我会非常感谢!
革命分析:我在我的 Mac 上模拟 Windows 7 的虚拟机上安装了革命分析企业。该程序有一个RxLogit
针对大型逻辑回归进行了优化的函数。使用RxLogit
我得到的函数the error (Failed to allocate 326554568 bytes. Error in rxCall("RxLogit", params) : bad allocation)
,所以该函数似乎也遇到了内存问题。但是,该软件使我能够在分布式计算集群上运行我的回归。因此,我可以通过在具有大量内存的集群上购买计算时间来“解决问题”。但是,我想知道革命分析程序是否提供了任何我不知道的公式或方法,这些公式或方法可以让我进行某种考虑因素lfe
的固定效应减法运算或分块运算。bigglm
MatrixModels/glm4:有人建议我使用带有属性的包的glm4
功能来加快计算速度。如果我使用所有固定效果运行回归,我会得到一个“错误。如果我只使用固定效果变量 B OR A 和 C 运行它,则计算工作并返回一个对象。就像我在将输出转换为一种对我有意义的形式,因为标准方法似乎不适用于它。MatrixModels
sparse = TRUE
glm4
"Error in Cholesky(crossprod(from), LDL = FALSE) : internal_chm_factor: Cholesky factorization failed
"glpModel"
glmmGS
summary()
我很乐意就上述任何问题或完全不同的方法在 R 中运行具有多个大型固定效应和内存限制的逻辑回归提供建议。
r - 是否可以在没有检查点包的情况下使用 RRO?
Revolution R Open (RRO) 与checkpoint
包一起分发,以提高包参考的可重复性。但是,有些用户可能并不关心可重复性,而是真正关心 RRO 提供的性能增强。
checkpoint
是否可以在没有包及其功能的情况下使用 RRO ?
java - 在 Centos 6.5 上的 Rstudio 服务器上加载 rJava 时出错
我尝试在 Rstudio Server 0.99.467 和 Revolution Analytics Open R 3.2.0(主要是标准 R 3.2.0 和一些附加包)中加载 rJava,我收到以下错误
我正在使用 Centos 6.5 和 Oracle Java 1.8 JDK
我用谷歌搜索了这个问题,其中一个解决方案是将 JAVA_HOME 设置为空字符串,但是我已经将它设置为该值。
如果这可能是问题的原因,我还有两个库路径:
当我尝试在 bash 中的 R 控制台中加载此包时,不会出现此类错误。