【问题标题】:Data table error could not find function "."数据表错误找不到函数“。”
【发布时间】:2015-02-14 06:59:42
【问题描述】:

我正在尝试运行以下代码。每当我尝试运行代码时,都会出现以下错误:Error in eval(expr, envir, enclos) : could not find function "." 我该如何解决?有人可以帮忙吗?

data(mtcars)
library(data.table)
mtcarsDT <- data.table(mtcars)
mtcarsDT[ mpg > 20,
        .(AvgHP = mean(hp),
        "MinWT(kg)" = min(wt * 453.6)), # wt lbs
        by = .(cyl, under5gears = gear < 5)
        ]

这是会话信息

> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] data.table_1.9.2

loaded via a namespace (and not attached):
[1] digest_0.6.8    htmltools_0.2.6 plyr_1.8.1      Rcpp_0.11.3     reshape2_1.4.1  rmarkdown_0.3.3 stringr_0.6.2  
[8] tools_3.1.2 

【问题讨论】:

  • 请从 R 的干净会话中尝试。同时提供sessionInfo()
  • data.table_1.9.2 似乎会出现此问题。 data.table_1.9.4 不会出现。
  • @RomanLuštrik,它是“x86_64-apple-darwin10.8.0”,即 OSX SnowLeopard。根据this page的说法,在这个操作系统上编译1.9.4版本时出现错误。
  • @Pascal,你必须标记我,否则我看不到你的消息。在这种情况下,您始终可以下载源文件,并通过指定源文件的路径从源安装它。
  • @Pascal:这在 R 的 SL 版本上成功(使用适当的 XCode 和命令行工具):install.packages("data.table", type="source", dependencies=TRUE) 并在 pkgs 上使用 unloadNamespace 之后:'data.table','reshape2 ' 和 'plyr'(按此顺序,我可以加载 1.9.4 版并运行该代码。

标签: r data.table


【解决方案1】:

显然,我在 2.5 年前提供的说明仍然适用于使用过时版本的 Mac R 的人。假设您安装了 Xcode 和命令行工具,您需要首先 a) 重新启动 R(不加载data.table.、reshape2 和 dplyr 的任何版本),或 b) 删除任何可能与测试加载新包的能力冲突的已加载命名空间:

unloadNamespace('data.table')
unloadNamespace('reshape2')
unloadNamespace('plyr')

然后从源代码构建:

install.packages("data.table", type="source", dependencies=TRUE)

在安装二进制包时从源代码构建可能会起作用的原因可能是前一种策略可以让您更好地检查版本依赖关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2018-07-31
    • 2016-05-20
    • 2015-09-06
    相关资源
    最近更新 更多