运行 as.Node 来自 R 中的 data.tree 包

Running as.Node from data.tree package in R

我正在尝试使用 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)

任何人都可以就 'unused argument (quote())' 的含义提供一些指导吗?我试过用谷歌搜索它,发现在某些情况下,这意味着一个函数或术语已经在另一个上下文中定义。但是我还是太菜鸟了,不明白这里的意思。

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

我不能以此为荣; Christoph Glur(请参阅主要 post 上的评论)解决了这个问题。但分享原因可能对其他人有用,我的解决方案:

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

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

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

我还是个新手,但据我了解,这意味着所有 .log 文件中的 "find and replace, in place, instances of "/path/" 和 "/spath/"。"我实际上并不关心那个词,path vs. spath(这是胡言乱语),所以改变它并不重要。现在 as.Node() 函数 运行 在数据集上正确运行。

谢谢你,克里斯托夫!