鉴于新的会议,
执行一个小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.
问题
- 代码示例有问题吗?
- 有没有办法克服这个问题(通过某些命名空间函数)?
- 或者这是一个错误?
我两个都需要dplyr and ggparcoord(.)在更大的分析中,但这个最小的例子反映了我面临的问题。
Versions
- R@3.2.3
- dplyr @ 0.4.3
- GGally@1.0.1
- ggplot@2.0.0
UPDATE
总结乔兰给出的精彩答案:
Answers
- 代码示例实际上是错误的ggparcoord(.)期望一个数据框 not a tbl_df由钻石数据集给出(如果加载了 dplyr)。
- 问题是通过强制解决的tbl_df to a 数据框.
- 不,这不是一个错误。
工作代码示例:
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))