我正在尝试使用waffle
包绘制一些数据但是当我使用data.frame
作为parts
函数的waffle()
参数时,我收到以下错误消息。
parts <- data.frame(
names = LETTERS[1:4],
vals = c(80, 30, 20, 10)
)
library(waffle)
waffle(parts, rows = 8)
FUN(X [[i]],...)出错: (list)对象无法强制键入&#39; double&#39;
查看the source code of waffle()
,可以找到以下代码行
if (inherits(parts, "data.frame")) {
stats::setNames(
unlist(parts[, 2], use.names = FALSE),
unlist(parts[, 1], use.names = FALSE)
) -> parts
}
运行之后,我们最终得到一个命名向量,该函数按预期工作
waffle(parts, rows = 8)
首先出现错误的原因是什么?谢谢。
会话信息
devtools::session_info()
#Session info -----------------------------------------------------------------------------------------------------------
#setting value
#version R version 3.5.0 (2018-04-23)
#system x86_64, mingw32
#ui RStudio (1.1.447)
#language (EN)
#collate German_Germany.1252
#tz Europe/Berlin
#date 2018-05-17
#
#Packages ---------------------------------------------------------------------------------------------------------------
#package * version date source
#base * 3.5.0 2018-04-23 local
#colorspace 1.3-2 2016-12-14 CRAN (R 3.5.0)
#compiler 3.5.0 2018-04-23 local
#datasets * 3.5.0 2018-04-23 local
#devtools 1.13.5 2018-02-18 CRAN (R 3.5.0)
#digest 0.6.15 2018-01-28 CRAN (R 3.5.0)
#extrafont 0.17 2014-12-08 CRAN (R 3.5.0)
#extrafontdb 1.0 2012-06-11 CRAN (R 3.5.0)
#ggplot2 * 2.2.1 2016-12-30 CRAN (R 3.5.0)
#graphics * 3.5.0 2018-04-23 local
#grDevices * 3.5.0 2018-04-23 local
#grid 3.5.0 2018-04-23 local
#gridExtra 2.3 2017-09-09 CRAN (R 3.5.0)
#gtable 0.2.0 2016-02-26 CRAN (R 3.5.0)
#lazyeval 0.2.1 2017-10-29 CRAN (R 3.5.0)
#memoise 1.1.0 2017-04-21 CRAN (R 3.5.0)
#methods * 3.5.0 2018-04-23 local
#munsell 0.4.3 2016-02-13 CRAN (R 3.5.0)
#pillar 1.2.2 2018-04-26 CRAN (R 3.5.0)
#plyr 1.8.4 2016-06-08 CRAN (R 3.5.0)
#RColorBrewer 1.1-2 2014-12-07 CRAN (R 3.5.0)
#Rcpp 0.12.16 2018-03-13 CRAN (R 3.5.0)
#rlang 0.2.0 2018-02-20 CRAN (R 3.5.0)
#Rttf2pt1 1.3.6 2018-02-22 CRAN (R 3.5.0)
#scales 0.5.0 2017-08-24 CRAN (R 3.5.0)
#stats * 3.5.0 2018-04-23 local
#tibble 1.4.2 2018-01-22 CRAN (R 3.5.0)
#tools 3.5.0 2018-04-23 local
#utils * 3.5.0 2018-04-23 local
#waffle * 0.7.0 2017-01-07 CRAN (R 3.5.0)
#withr 2.1.2 2018-03-15 CRAN (R 3.5.0)
#yaml 2.1.19 2018-05-01 CRAN (R 3.5.0)
答案 0 :(得分:1)
刚才意识到CRAN上waffle
软件包的最新版本是‘0.7.0‘
。
从GitHub安装:
library(devtools)
install_github("hrbrmstr/waffle")
packageVersion("waffle")
#[1] ‘0.9.1’
现在该功能按预期工作data.frame
s
parts <- data.frame(
names = LETTERS[1:4],
vals = c(80, 30, 20, 10)
)
library(waffle)
waffle(parts, rows = 8)