【问题标题】:Running as.Node from data.tree package in R从 R 中的 data.tree 包运行 as.Node
【发布时间】:2016-05-23 18:14:47
【问题描述】:

我正在尝试使用 R 中 data.tree 库中的 as.Node 函数将一组媒体服务器日志数据可视化为一棵树。我按月和年对原始数据框进行了子集化,这样我就可以一次运行一个月的数据。我将数据转换为树,然后将其打印为 .csv 的功能代码如下:

treetrimmer2 <- function(x, y) {
  urimodel <- as.Node(x)
  uridf <- ToDataFrameTree(urimodel, "level", "count")
  uridf <- filter(uridf, level <= y, count != 0)
  filename <- paste(x$year[1], x$month[1], ".csv", sep="")
  write.csv(uridf, file = filename, fileEncoding = "CP1252")
}

几个月结束时没有任何问题。然而,其他月份,给我以下错误(和回溯):

Error in (function ()  : unused argument (quote(<environment>)) 

7 (function () 
{
    c(self$parent$path, self$name)
})(quote(<environment>)) 
6 self$AddChildNode(child) 
5 mynode$AddChild(path) 
4 FromDataFrameTable(x, pathName, pathDelimiter, colLevels, na.rm) 
3 as.Node.data.frame(x) 
2 as.Node(x) at media_visualizer.R#63
1 treetrimmer2(uricut$`2015.06`, 5)

谁能给我一些关于“未使用的参数(quote())”是什么意思的指导?我试过用谷歌搜索它,发现在某些情况下,这意味着一个函数或术语已经在另一个上下文中定义了。但我还是新手,无法理解这意味着什么。

我在 Mac OS 10.11.5 上运行 rStudio 0.99.896 和 R 3.2.4。我会分享我的数据集,但它非常庞大,而且我不确定是哪些行导致了问题...

【问题讨论】:

  • 这看起来确实像一个错误。不幸的是,我无法重现它。那你能把数据集发给我吗? (作为 data.tree 维护者提供的电子邮件:请参阅 cran.r-project.org/web/packages/data.tree )。另外:您使用的是 data.tree 0.3.5(即目前来自 CRAN 的最新版本)吗?
  • 我很高兴分享我的数据集。通过将其分成两半并运行两半的渐进过程,我已经能够将问题缩小到一组 20,000 行,这将适合一封电子邮件。我正在使用 data.tree 0.3.5。
  • 这是一个非常有趣的错误。见github.com/gluc/data.tree/issues/65

标签: r tree nodes


【解决方案1】:

我不能为此申请功劳; Christoph Glur(见主帖上的 cmets)想通了。但是分享原因可能对其他人有用,以及我的解决方案:

问题是一些日志文件包含 data.tree 包的保留字之一,在本例中为“路径”。这些行的格式是“/something/something/path/something/something.jpg”,因此 data.tree 将“path”读为一个独立的词。还有其他“路径”实例作为较大单词的一部分,例如“pathString”或“pathTo”,不会导致错误。

一旦他想通了,我的解决方案是在终端中的所有日志文件上运行以下命令:

sed -i '' 's/\/path\//\/spath\//' *.log

我还是个新手,但据我了解,这意味着“在所有 .log 文件中查找并用“/spath/”替换“/path/”的实例。我实际上并不关心这个词,path vs. spath(这是胡言乱语),所以改变它并不重要。现在 as.Node() 函数在数据集上运行正常。

谢谢你,克里斯托夫!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多