rattle installation error: Invalid root element:

rattle installation error: Invalid root element:

我是数据挖掘和 R 的新手。请提供如何进行以下查询。

我想在我的 MS Win 10-X64 系统上使用 R-package Rattle 进行数据分析。我正在关注这些 instructions。我使用

安装包
    install.packages("rattle")

选择 CRAN 镜像后,RGUI 安装包并给出以下消息:

   package ‘rattle’ successfully unpacked and MD5 sums checked
   The downloaded binary packages are in
   C:\Users\XXX\AppData\Local\Temp\RtmpYnMZM1\downloaded_packages

之后我 运行 代码,

   library(rattle)

RGui 给出以下响应;

   Rattle: A free graphical interface for data mining with R.
   Version 4.1.0 Copyright (c) 2006-2015 Togaware Pty Ltd.
   Type 'rattle()' to shake, rattle, and roll your data.

在此之后,我调用函数 'rattle'。

   rattle()

我收到以下错误:

   Error in method(obj, ...) : Invalid root element: 'requires'

我也在 RStudio 控制台中进行了同样的尝试。此外,我卸载了 RStudio 和 R X64、X386 并重新安装并再次尝试,但我无法浏览此错误的原因。

似乎与RGtk2有关。 grep 在已安装的 rattle 目录中显示了这个

$ grep 'requires' -r .
./etc/rattle.glade:  <!-- interface-requires gtk+ 2.16 -->
./etc/rattle.ui:  <!-- interface-requires gtk+ 3.0 -->
./etc/rattle.ui.160313:  <!-- interface-requires gtk+ 3.0 -->
./etc/rattle.ui.with_export_filechooser:  <!-- interface-requires gtk+ 3.0 -->
./etc/rattle_macosx.ui:  <requires lib="gtk+" version="2.16"/>
./NEWS:  * Note rattle.ui requires gtk > 2.16, not > 2.20. Otherwise fails to
./NEWS:  * Check for GtkBuilder handling of the 'requires' tag, and if not
./NEWS:    Gtk library installed does not recognise 'requires' and suggest a

似乎 RGtk2 导致了问题,发出关于存在名为 requires 的元素的抱怨。

解决方案一:

将 RGtk2 从 2.20.33 降级到 2.20.31 对我有用。

方案二:

后来我把所有东西都升级到最新的,包括Windows GTK+2。嘎嘎声停止工作。但是 rattle 在如下调用时再次工作:

rattle( useGtkBuilder = TRUE)

现在我坚持后一种方式。

在 RGtk/GTK+ 版本上:

我无法在 Windows 上四处拖动 Rattle gui window 或自由调整它的大小。这一直是我的痛处。更高版本的 RGtk2 或 GTK2 似乎无法修复它(GTK2 文件夹中的演示应用程序没有这个问题。但是 RGtk2 演示脚本有)。所以 RGtk/Gtk+ 版本对我没有任何影响。

PS: 如果您是 运行 R-3.4.0 并尝试从 togaware.com 安装开发版本,请下载 http://rattle.togaware.com/bin/windows/contrib/3.3/rattle_5.0.10.zip(实际上是用 R-3.4.0 构建的,因此不适用于3.3.3 ) 在本地安装。

从 7 月 10 日起,使用下面的脚本安装开发版本 5.0.18。它会让你远离所有的麻烦

install.packages("rattle", repos="http://rattle.togaware.com")