我最近将我的英特尔 MacBook 从 Catalina 升级到 Monterey(Darwin 版本 21.1.0),我还通过 Home-brew 将 R 从 4.0.1 升级到 4.1.1。我已经重新安装了工作所需的大部分软件包,但是,遇到了mapview. 由于依赖项问题,安装失败 - systemfonts。我尝试直接从 CRAN 安装 systemfonts,然后从 GitHub 失败,并显示以下消息:
/bin/sh: I/usr/local/Cellar/r/4.1.1_1/lib/R/include: No such file or directory\nmake: [mac/FontManagerMac.o] Error 127 (ignored)\nRun Code Online (Sandbox Code Playgroud)\n和
\nclang: error: no such file or directory: 'mac/FontManagerMac.o'\nmake: *** [systemfonts.so] Error 1\nERROR: compilation failed for package \xe2\x80\x98systemfonts\xe2\x80\x99\n* removing \xe2\x80\x98/usr/local/lib/R/4.1/site-library/systemfonts\xe2\x80\x99\nWarning message:\nIn i.p(...) :\n installation of package \xe2\x80\x98/var/folders/85/56q39hqj2_gf31m9mbln7hhw0000gn/T//RtmpJGiNgA/file324134b404c/systemfonts_1.0.3.9000.tar.gz\xe2\x80\x99 had non-zero exit status\nRun Code Online (Sandbox Code Playgroud)\n如果您对这个问题有任何想法,我将不胜感激。我可能会在 GitHub r-lib/systemfonts 上提出一个问题,因为这可能与软件包和更新后的操作系统之间的某种不兼容有关,但我认为我应该从这里开始。
\n谢谢
\n我正在寻找提高大型数据集的数据效率的方法。为此,我使用 ggplot2 创建了几个函数。一些生成的图形可能会用于分发,因此,我希望它们具有易于理解的标题和轴标签。我想我可以使用将可读标签与每个变量相关联attr()。这样我就不必重命名变量并处理包括空格在内的长变量名。使用 ggplot 的函数时我成功了
library(ggplot2)
library(magrittr)
# Set attributes
mt <- mtcars
attr(mt$mpg, "desc") <- "Miles per Gallon"
attr(mt$cyl, "desc") <- "Number of Cylinders"
mt %>%
ggplot() +
geom_point(aes(x = cyl, y = mpg)) +
labs(x = attr(mt$cyl, "desc"),
y = attr(mt$mpg, "desc"))
Run Code Online (Sandbox Code Playgroud)
上面的代码的行为符合我的预期,并返回一个包含轴标签的图表。但是,当我创建图形函数时,我无法弄清楚如何访问变量属性。以下两种尝试都成功创建了图形,但没有生成轴标签
vis_1 <- function(.data, .x, .y) {
.data %>%
ggplot() +
geom_point(aes(x = {{.x}}, y = {{.y}})) +
labs(x = attr({{.data$.x}}, "desc"),
y = attr({{.data$.y}}, "desc"))
}
vis_1(.data = mt, .x = …Run Code Online (Sandbox Code Playgroud)