我正在尝试在Mac OS X(Lion 10.7.3)下为R(2.14.2)安装rgl软件包(0.92.858).当我尝试加载它(库(rgl))时,我收到以下错误:
Error : .onLoad failed in loadNamespace() for 'rgl', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so':
dlopen(/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so, 6): Symbol not found: __ZN3gui13OSXGUIFactory12hasEventLoopEv
Referenced from: /Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so
Expected in: dynamic lookup
Run Code Online (Sandbox Code Playgroud)
我有一台带有挪威键盘的Mac.也许这与这个问题有关?但是,我得到了同样的错误,即使我将语言改为美国有没有人遇到过类似的问题?有什么办法解决它吗?
我想把第一个后面的字符向量中的所有内容都大写_.例如,以下向量:
x <- c("NYC_23df", "BOS_3_rb", "mgh_3_3_f")
Run Code Online (Sandbox Code Playgroud)
应该这样出来:
"NYC_23DF" "BOS_3_RB" "mgh_3_3_F"
Run Code Online (Sandbox Code Playgroud)
我一直试图使用正则表达式,但我无法做到这一点.任何建议,将不胜感激.
我想制作一个点范围图,其中组的点不相互堆叠.情节应如下所示:
:
我做躲避的最佳尝试是在道奇论证中使用向量:
library(ggplot2)
dat <- structure(list(Treatment = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L), .Label = c("A", "B"), class = "factor"),
Temp = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L,
2L, 2L), .Label = c("10", "20"), class = "factor"), Rep = c(1L,
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), Meas = c(3L,
2L, 2L, 2L, 6L, 4L, 4L, 3L, 5L, 1L, 2L, 3L), SD = c(2L, 3L, …Run Code Online (Sandbox Code Playgroud) 这是一个交叉验证问题的连续统一体,在那里我询问了解决该问题的合理方法.这个问题更加面向编程,因此我将其发布在SO上.
我有一条已知日期超过一年的曲线.该曲线的y值是根据日常温度和盐度记录计算的d18O值的预测.我还测量了由碳酸钙组成的壳的d18O值.沿距离轴测量这些值,其中第一次和最后一次测量大致(但不是精确地)与曲线的开始和结束同时发生.
已知d18O值与某些未知随机误差内的曲线中的预测值匹配.我希望通过改变测量值的x轴(或者至少通过将索引与曲线中的索引匹配)来获得曲线测量值的最佳拟合.通过这种方式,我可以估算出测量值的日期,并可以进一步估算壳体在一年中的增长率.预计增长率可变,并且可能存在增长中断(即增长停止).但是,测量值之间的增长必须> 0(约束).
以下是示例数据集(curve和measured):
meas <- structure(list(index = 1:10, distance = c(0.1, 1, 3, 5, 7, 8,
13, 20, 22, 25), value = c(3.5, 4.2, 4.5, 4.4, 4.7, 4.8, 5.1,
4.9, 4.1, 3.7)), .Names = c("index", "distance", "value"), class = "data.frame",
row.names = c(NA, -10L))
curve <- structure(list(date = structure(c(15218, 15219, 15220, 15221,
15222, 15223, 15224, 15225, 15226, 15227, 15228, 15229, …Run Code Online (Sandbox Code Playgroud) 所述CRAN政策限制ř封装尺寸为5 MB,这是对小的图形的应用,如映射。有多种处理封装尺寸限制的方法,所有这些方法都有其缺点。下面列出了替代方案。
我的问题是:如何使R包只下载一次数据文件(即它们保存到R重新启动后找到它们的地方)?该解决方案应该适用于所有常见的 CRAN 平台。
我一直在为 R开发一个映射包,它应该在ggplot2 中绘制全球任何地方的测深图。我列出了在我遇到的 CRAN 包中处理大型数据文件的替代方法。替代方案是在编写地图时考虑到的,但适用于需要大型单个文件的任何情况:
install.packages()像使用任何其他 CRAN 包一样简单地使用该功能。事情进展顺利,每个人都很开心。install.packages()从 CRAN 安装原始包,但对开发人员也有不少缺点。设置数据包以通过所有 CRAN 检查可能有点困难,因为目前在线任何地方都没有正确指定所有步骤:原始包必须请求安装数据包的许可;对于 R 的当前开发版本,数据包必须作为单独的二进制文件分发,至少适用于 Windows 和 Mac,但也可能适用于 drat 存储库中的 Fedora;数据包应Suggests:与URL一起列出下Additional_repositories:在描述文件; 提一下我目前遇到的一些惊喜。总而言之,这种替代方案对用户来说很好,但需要开发人员进行维护。一些映射包(例如marmap)将数据下载到临时文件来自外部服务器。这种方法的优点是易于满足 CRAN 要求,并且用户不必存储比应用程序所需更多的数据。该方法还允许在下载函数中指定分辨率,这对于“缩放”地图非常有用。缺点是该过程必然比简单地在本地存储地图数据花费更多时间。另一个缺点是地图数据需要以栅格格式分发(或者服务器必须裁剪矢量)。在撰写本文时,与栅格数据相比,矢量数据允许在 R 和 ggplot2 中更轻松地操作颜色和样式。由于元素不受分辨率的限制,因此矢量还可以使图形更清晰。第三个缺点是下载方法(据我所知)必须针对临时文件(即 …
我不明白为什么我找不到解决方案,因为我觉得这是一个非常基本的问题.那么需要寻求帮助.我想按月重新安排空气质量数据集,每个月的最大温度值.另外,我想找到每个月最高温度的相应日期.什么是最懒惰(代码方式)的方法呢?
我试过没有成功:
require(reshape2)
names(airquality) <- tolower(names(airquality))
mm <- melt(airquality, id.vars = c("month", "day"), meas = c("temp"))
dcast(mm, month + day ~ variable, max)
aggregate(formula = temp ~ month + day, data = airquality, FUN = max)
Run Code Online (Sandbox Code Playgroud)
我是这样的:
month day temp
5 7 89
...
Run Code Online (Sandbox Code Playgroud) 我有一个数据集,包含从年初开始的周数(%W),我想将其转换为日期,以便在x轴上使用日期绘制它
dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3)))
Run Code Online (Sandbox Code Playgroud)
我尝试根据之前的问题转换周数,但最终得到的"YYYY-10-01"是每个日期.
as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y")
Run Code Online (Sandbox Code Playgroud)
为什么这样做,怎么做对了?
我正试图切换到"新" tidyverse生态系统,并试图避免加载Wickham 等人的旧包装.我过去常常依赖我的编码.我发现round_any功能从plyr在许多情况下有用的地方,我需要定制四舍五入为图,表格等EG
x <- c(1.1, 1.0, 0.99, 0.1, 0.01, 0.001)
library(plyr)
round_any(x, 0.1, floor)
# [1] 1.1 1.0 0.9 0.1 0.0 0.0
Run Code Online (Sandbox Code Playgroud)
是否有round_any与plyr包相同的功能tidyverse?
我在ggplot中发现了一个相当令人困惑的功能,同时尝试在log10规模上注释段.以下代码生成以下图表:
library(ggplot2)
dat <- data.frame(x = x <- 1:1000, y = log(x))
ggplot(dat, aes(x = x, y = y)) +
geom_line(size = 2) + scale_x_log10() +
annotate("segment", x = 0, xend = log10(100), y = log(100), yend = log(100), linetype = 2) +
annotate("segment", x = log10(100), xend = log10(100), y = 0, yend = log(100), linetype = 2)
Run Code Online (Sandbox Code Playgroud)

而这正是我所追求的:
ggplot(dat, aes(x = x, y = y)) +
geom_line(size = 2) + scale_x_log10() +
annotate("segment", x = 0, xend = …Run Code Online (Sandbox Code Playgroud) 我试图在facet环境中将表达式设置为x轴文本ggplot2,标签长度不等.例如:
dat <- structure(list(Species = structure(c(1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L), .Label = c("A", "B"), class = "factor"), Individual = structure(c(1L,
2L, 3L, 5L, 1L, 2L, 3L, 4L, 5L), .Label = c("1", "2", "3", "4",
"expression(bar(\"x\"))"), class = "factor"), mean = c(45, 32,
100, 59, 65, 110, 87, 93, 88.75), min = c(34, 20, 89, 47.66666667,
54, 100, 67, 85, 76.5), max = c(54, 42, 110, 68.66666667, 76,
120, 99, 105, 100)), .Names = c("Species", …Run Code Online (Sandbox Code Playgroud)