dplyr 掩盖 GGally 并破坏 ggparcoord

2024-02-03

鉴于新的会议, 执行一个小ggparcoord(.)函数文档中提供的示例

library(GGally)

data(diamonds, package="ggplot2")
diamonds.samp <- diamonds[sample(1:dim(diamonds)[1], 100), ]
ggparcoord(data = diamonds.samp, columns = c(1, 5:10))

结果如下图:

再次,从一个新的会话开始并使用加载的脚本执行相同的脚本dplyr

library(GGally)
library(dplyr)

data(diamonds, package="ggplot2")
diamonds.samp <- diamonds[sample(1:dim(diamonds)[1], 100), ]
ggparcoord(data = diamonds.samp, columns = c(1, 5:10))

结果是:

错误:(列表)对象无法强制输入“double”

请注意,顺序图书馆(。)声明确实not matter.

问题

  1. 代码示例有问题吗?
  2. 有没有办法克服这个问题(通过某些命名空间函数)?
  3. 或者这是一个错误?

我两个都需要dplyr and ggparcoord(.)在更大的分析中,但这个最小的例子反映了我面临的问题。

Versions

  • R@3.2.3
  • dplyr @ 0.4.3
  • GGally@1.0.1
  • ggplot@2.0.0

UPDATE

总结乔兰给出的精彩答案:

Answers

  1. 代码示例实际上是错误的ggparcoord(.)期望一个数据框 not a tbl_df由钻石数据集给出(如果加载了 dplyr)。
  2. 问题是通过强制解决的tbl_df to a 数据框.
  3. 不,这不是一个错误。

工作代码示例:

library(GGally)
library(dplyr)

data(diamonds, package="ggplot2")
diamonds.samp <- diamonds[sample(1:dim(diamonds)[1], 100), ]
ggparcoord(data = as.data.frame(diamonds.samp), columns = c(1, 5:10))

将我的评论转换为答案...

这里的 GGally 包做出了合理的假设:使用[数据框上的行为应该像往常一样。然而,这一切都在哈德利诗中,diamonds数据集是一个tbl_df以及ASAdata.frame.

When dplyr加载后,行为[被重写,使得drop = FALSE始终是 a 的默认值tbl_df。所以有一个地方在GGally where data[,"cut"]预计返回一个向量,但它返回另一个数据帧。

...具体来说,在尝试执行时,您的示例中会抛出错误:

data[, fact.var] <- as.numeric(data[, fact.var]). 

Since data[,fact.var]仍然是一个数据框,因此是一个列表,as.numeric行不通的。

至于你的结论是这不是一个错误,我想说……也许吧。大概。至少可能没有什么GGally软件包作者应该解决这个问题。你只需要知道使用tbl_df使用非 Hadley 编写的软件包可能会破坏某些东西。

正如您所指出的,删除额外的类属性可以解决问题,因为它使 R 返回到使用正常的[ method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dplyr 掩盖 GGally 并破坏 ggparcoord 的相关文章

  • 如何使用 r 中的 caret 包在最佳调整超参数的 10 倍交叉验证中获得每次折叠的预测?

    我试图使用 R 中的插入符包使用 10 倍交叉验证和 3 次重复来运行 SVM 模型 我想使用最佳调整的超参数获得每次折叠的预测结果 我正在使用以下代码 Load packages library mlbench library caret
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • 使用 ggplot2 修改点子集的形状

    我正在尝试绘制一个沿大量维度变化的大型散点图 这是我的起始情节 p lt ggplot mtcars aes wt mpg shape cyl colour gear size carb geom point 使用mtcars数据集 我只是
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 如何在不循环的情况下添加组ID?

    我有数据框 例如 productid ordernum p1 10 p2 20 p3 30 p4 5 p5 20 p6 8 我想添加另一列 称为 groupid 它将产品按顺序分组在一起 一旦 sum ordernum 达到 30 分配一个
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 如何按 data.table 中的十分位数组计算统计数据

    我有一个 data table 想按组计算统计数据 R set seed 1 R DT data table a rnorm 100 b rnorm 100 这些组应该定义为 R quantile DT a probs seq 1 9 1
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 使用outer代替expand.grid

    我正在寻找尽可能快的速度并留在基地做该做的事expand grid做 我用过outer为过去类似的目的创建一个向量 像这样的东西 v lt outer letters LETTERS paste0 unlist v lower tri v
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 在Python中获取文件关联

    我想要在 Linux 和 Windows 中获取与扩展关联的程序 我知道我可以在 Linux 中执行 xdg open 或在 Windows 中启动 但我要在远程服务器上打开媒体文件 因此使用此方法将打开网络浏览器 而不是默认媒体播放器 如
  • 运行 R 脚本 - Ubuntu 服务器

    我最近在 Ubuntu Server 16 04 上编译了 R 我尝试使用 Rscript 函数运行 R 脚本 但遇到错误 当我使用运行脚本时Rscript 输出显示功能as and new 无法找到 R 发行版中包含的方法包中的内容 当我
  • HTML5 必需属性不起作用

    我想创建一个电子邮件联系表单而不刷新页面 所以我在我的 html 文件中添加了 jquery 我使用 html required 属性检查字段是否为空 但是当我在我的 html 代码中添加 jquery 代码时 required 属性不起作
  • 使用未指定的索引。考虑添加 ".indexOn": "g"

    我正在使用 Geofire 在某个区域进行循环查询 设置好观察者后 我会返回位置 但是 随着位置的变化 我还会返回 使用未指定的索引 考虑添加 indexOn g 我的 geofire 数据库看起来像这样 karmadots geofire
  • 将正方形分割成小正方形

    我有一个大广场 我想把这个正方形分成小正方形 我需要所有可能的组合 我知道组合有无数种 但我有一个限制 我有最小正方形的固定尺寸 我可以使用蛮力来实现它 但它太长了 对于这个任务有更好的算法吗 Thanks 那么这个问题只有当我们做出两个假
  • 尝试理解 Ruby 中 self.method_name 与 Classname.method_name 的使用

    我试图了解何时使用 self method name 与何时使用 Classname method name 在下面的示例中 为什么 before create 需要引用 User hash password 而不是 self hash p
  • Apache:如何对用户隐藏服务器版本和操作系统?

    我在一个网站上读到我需要添加两行httpd conf file 服务器签名关闭 ServerTokens 产品 但当我添加它们后 一切都没有改变 正如之前我可以在浏览器中看到的 Apache 2 2 16 Debian 也许这很重要 当我打
  • 默认的 VB6 字符集是什么?

    我们有一个用 Java 编写的应用程序 它读取 VB6 应用程序生成的一些文本 问题是 这个 VB6 应用程序使用一些特殊字符生成此输出 例如 我们不知道这些字符采用什么字符集 那么问题来了 VB6有没有使用默认的字符集 是哪一个 如何将数
  • 如何通过新的 V2 API 使用 Google Translate TTS?

    我曾经使用以下网址调用 Google Translate TTS 下载音频文件 然而谷歌改变了工作方式 因此我无法再下载音频文件 我已注册 Google Translate API V2 免费试用版 但找不到如何获取 TTS 音频文件 任何
  • Android 4.0.3 (MIUI ROM) 下未加载本机库

    一位客户联系我 当他将 Android ROM 更新到相当于 Android 4 0 3 的 MIUI 时 我的 Android 应用程序崩溃了 LogCat 中的相关行是 04 09 10 37 09 326 17789 17789 E
  • 在 OS X Lion 10.7.4 和 Python 3.2.2 上安装 MatPlotLib 1.2.x

    几天前我问了一个关于在同一系统上安装 numpy 的问题 值得庆幸的是 我自己设法解决了这个问题 但不幸的是我现在陷入了尝试安装 matplotlib 的困境 我首先尝试了当前的分布式版本 但没有成功 所以我想我应该下载 git 存储库并尝
  • 函数模板重载解析和编译器优化

    我正在看这里发现的这个问题包含类型的类型的模板函数重载 https stackoverflow com questions 44511121 template function overload for type containing a
  • 将数据存储为 flutter 中共享首选项中的对象

    我想在共享首选项中存储一个对象 其中包含一些字段 如姓名 年龄 电话号码等 我不知道如何在颤振中的共享首选项中存储对象 您可以将对象存储在共享首选项中 如下所示 SharedPreferences shared User await Sha
  • 使用 EDITBIN 时的错误代码 -1073741515

    我正在使用 EditBin 来增加我正在编写的应用程序的堆栈大小 我在 Visual Studio 的构建后事件命令行中包含以下内容 C Program Files x86 Microsoft Visual Studio 10 0 VC b
  • 如何使我的网站符合 PCI 标准

    假设我决定使用支付网关而不是使用他们的托管页面 而是提供我自己的信用卡详细信息表单 然后通过 xml 将数据发送到他们的后端 如下所示本页有解释 http www eway com au Developer eway api hosted
  • Java内存模型:编译器重新排列代码行

    众所周知 Java 语言允许编译器重新排列已编译代码行 只要重新排序对代码语义没有影响即可 然而 编译器只需关心语义 如从当前线程 如果这种重新排序影响多线程情况下的语义 通常会导致并发问题 内存可见性 我的问题 通过允许编译器使用这个 f
  • 如何使用 matplotlib 在圆环饼图中制作子图?

    如何使用Python的matplotlib为圆环饼图制作子图 下面是我写的代码 import matplotlib pyplot as plt labels Frogs Hogs Dogs sizes 15 30 45 colors yel
  • 如何将 Dart Html 客户端 Web 套接字响应从 Blob 转换为 Uint8List?

    我已经实现了自己的二进制消息协议 用于从 Dart 客户端到 Java 服务器的简单请求 响应对象 它们在 Dart 中编码为 Uint8List 在远程服务器上以 Java 编码为 ByteBuffer 往返适用于 dart io 中的
  • 将空格分隔的文件转换为 CSV

    我有一个包含表格数据的文本文件 我需要做的是自动执行写入以逗号分隔而不是空格分隔的新文本文件的任务 从现有数据中提取几列 对列重新排序 这是原始数据前 4 行的片段 Number of rows 8542 Algorithm Date Ti
  • dplyr 掩盖 GGally 并破坏 ggparcoord

    鉴于新的会议 执行一个小ggparcoord 函数文档中提供的示例 library GGally data diamonds package ggplot2 diamonds samp lt diamonds sample 1 dim di