【问题标题】:Using summary.lm function in rapache在 rapache 中使用 summary.lm 函数
【发布时间】:2010-12-09 02:36:54
【问题描述】:

我已经安装了rapache,我正在尝试在 R 脚本文件中拟合一个线性模型。我已经在 http.conf 中配置了RFileHandler。当我试图调用摘要(模型)时,它给了我一个段错误错误(我在 apache 日志文件中看到了这个)。我猜它正在尝试打印到控制台,这就是它失败的原因。

有没有人遇到过关于 R 和 rapache 的类似问题?我对 R 比较陌生,总结做了很多不直接暴露为函数的事情,所以我希望我能让它工作

这是我的 r 脚本

mydata <- read.table("/home/user/test.csv", header = TRUE, sep = ",")
fit <- lm(y~x1+x2+x3, data = mydata)
setContentType("text/html")
cat('<HTML><BODY>')
cat(summary(fit)$adj.r.squared)
cat('</BODY></HTML>\n')
DONE

如果我替换

    cat(summary(fit)$adj.r.squared)

有了这个

    cat(coef(fit))

它正在工作!

谢谢 巴拉尼

【问题讨论】:

    标签: r rapache


    【解决方案1】:

    您是否考虑按照rapache home page 的建议联系rapache Google Group?您可能会在那里找到比这里更有经验的读者。

    【讨论】:

    • 谢谢 - 刚刚发布在 rapache 组中
    【解决方案2】:

    我已经测试了以下示例和cat(summary(fit)$adj.r.squared) 适用于我的(默认)设置(Ubuntu 9.04 下的最新 rapache 1.1.8 和 R 2.9.2)

    ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
    trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
    group <- gl(2,10,20, labels=c("Ctl","Trt"))
    weight <- c(ctl, trt)
    fit <- lm(weight ~ group - 1) # omitting intercept
    setContentType("text/html")
    cat('<HTML><BODY>')
    cat(summary(fit)$adj.r.squared)
    cat('</BODY></HTML>\n')
    DONE
    

    【讨论】:

    • 你必须用 lapack 配置 R 吗? bcos 没有它第一次失败,然后我确实使用 lapack 进行了配置,它开始工作 - 只是当我调用摘要时它失败了
    • 我的 R 和 rapache 版本相同,但在 RHE 5.1 上
    • 我没有编译 R,只是编译了 rapache。我正在使用来自 CRAN (cran.r-project.org/bin/linux/...) 的 R Ubuntu 软件包。顺便说一句,还有 Red Hat 软件包。
    【解决方案3】:

    刚发现不是rapache。它在 R 本身中失败了

     *** caught segfault ***
     address (nil), cause 'memory not mapped'
    
     Traceback:
      1: .Call("La_chol2inv", x, size, PACKAGE = "base")
      2: chol2inv(Qr$qr[p1, p1, drop = FALSE])
      3: summary.lm(fit)
      4: summary(fit)
      5: cat(summary(fit)$adj.r.squared)
    
     Possible actions:
     1: abort (with core dump, if enabled)
     2: normal R exit
     3: exit R without saving workspace
     4: exit R saving workspace
    

    不知道这是什么意思

    -婆罗尼

    【讨论】:

    • 嗯,很好奇。 “内存未映射”错误意味着您的代码正在读取或写入它不拥有的内存。
    【解决方案4】:

    我终于找到了问题所在。阅读discussion我 错误地将 libRlapck.so 转换为 lapack.so。看起来这是造成 问题。 再次全新安装 R,然后将 apache 修改为显式 加载库然后一切正常 谢谢 - 巴拉尼

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2011-08-06
      • 2012-01-09
      • 2012-05-16
      • 2016-02-14
      • 2011-03-06
      • 2011-03-25
      相关资源
      最近更新 更多