如何在奇数编号的刻面ggplot中的空白区域中注释一些文本.让我们有一个刻面的ggplot,数据如下,有2行和2列.所以有2行,第2列的空白区域.
df<- data.frame(Ara = rep("XTX", each = 3),
Len = c(744, 750, 755),
Mon = c("Sep", "Oct","Nov"),
Value=c(11.224,10.15,4.23))
df
facetplot<-ggplot(df, aes(x=Value, y=Len, shape=Ara))+
geom_point(size=5.0)+
theme(legend.position = c(.7, .4), legend.direction="vertical")+
facet_wrap(~Mon,scales="free_x", nrow=2)
facetplot
Run Code Online (Sandbox Code Playgroud)
现在我试图在空间中注释一些文本但不能(在图像中用红色书写).我正在寻找类似于legend.position的注释文本.有没有人对此有任何想法.或者可能的工作是什么.谢谢.
可以使用glm函数在R中执行常规的普通线性模型,该函数具有自己的汇总函数方法,并且可以汇总模型,其中每个变量的输出都有p值。根据这些p值,可以说出哪些变量具有统计意义,或者在特定置信度下不具有统计学意义。
我的问题是。有没有对相同的功能cv.glmnet,从功能glmnet包?我知道经过计算后,我可以收到一个系数表,coef(model, s="lambda.min")其中一些系数不为零。因此,我假设(可能错误地)认为这些非零值具有统计意义。我对吗?是否有任何方法可以为这些系数提供p值或置信区间?
是否有一种方法可以使geom_boxplot线条,胡须和异常点继承与alpha下图fill中分配给箱线图的相同?
library(ggplot2)
ggplot(iris, aes(x = Species, y = Sepal.Length, alpha = Species == "setosa")) +
geom_boxplot() +
scale_alpha_discrete(range = c(0.5, 1))
Run Code Online (Sandbox Code Playgroud)

我在R中创建了数十个数据框,并希望将它们全部附加到Excel文件中的一个工作表中.
以下是我试图找到答案的两个页面(我没有10个声誉,因此我无法粘贴我访问过的所有四个网页网址):
使用R包xlsx 将数据写入Excel文件作者说:"您还可以使用addDataFrame函数的startRow和startCol参数将数据帧添加到工作表中的特定起始位置." 以下是建议的代码:
workbook.sheets workbook.test addDataFrame(x = sample.dataframe, sheet = workbook.test,
row.names = FALSE, startColumn = 4) # write data to sheet starting on line 1, column 4
saveWorkbook(workbook.sheets, "test.excelfile.xlsx") # and of course you need to save it.
Run Code Online (Sandbox Code Playgroud)
根据这个建议,这是我在RStudio的尝试:
addDataFrame(df_fl1, sheet = "AllData2.xlsx", startRow = 712)
Run Code Online (Sandbox Code Playgroud)
这是R的输出:工作表$ getWorkbook中的错误:$运算符对原子向量无效
我也试过这个页面:
读取和导入Excel文件到R的教程 "但是,如果要将数据帧写入已存在的文件,则可以执行以下命令:"
write.xlsx(df,
"<name and extension of your existing file>",
sheetName="Data Frame"
append=TRUE)
write.xlsx(df_fl3, "AllData2.xlsx", sheetName="Salinity1", append=TRUE)
Run Code Online (Sandbox Code Playgroud)
我尝试了这段代码,它覆盖了工作表中已有的数据.如何将数据框中的数据附加到Excel工作表中?
有没有人知道如何更改levelplot图形的线宽,特别是多个面板的线宽?箱线宽度应与刻度线一起变化.在基地R可以使用plot(x);box(lwd=10).
这是否可以在levelplot中?
非常感谢.
library(rasterVis)
mycolors=c("darkred","red3", "orange", "yellow", "lightskyblue",
"royalblue3","darkblue")
s <- stack(replicate(6, raster(matrix(runif(100), 10))))
levelplot(s, layout=c(3, 2), col.regions=mycolors, index.cond=list(c(1, 3, 5, 2, 4, 6)))
Run Code Online (Sandbox Code Playgroud) 我试图将逻辑回归的组合图绘制为函数logi.hist.plot,但我想使用ggplot2(美学原因)来做.
问题是只有一个直方图应该有scale_y_reverse().
有没有办法在单个图中指定它(参见下面的代码)或者使用可以传递给上一个图的坐标来重叠两个直方图?
ggplot(dat) +
geom_point(aes(x=ind, y=dep)) +
stat_smooth(aes(x=ind, y=dep), method=glm, method.args=list(family="binomial"), se=FALSE) +
geom_histogram(data=dat[dat$dep==0,], aes(x=ind)) +
geom_histogram(data=dat[dat$dep==1,], aes(x=ind)) ## + scale_y_reverse()
Run Code Online (Sandbox Code Playgroud)
最后的情节是我一直在努力实现的:

当我尝试将一个参数传递给round函数时,我收到一个错误stat_summary(即使类似的代码也适用于,比方说geom_text).这是一个例子:
# Fake data
set.seed(5)
dat = data.frame(group=rep(c("A","B"),each=10), val=rnorm(20))
Run Code Online (Sandbox Code Playgroud)
我们将尝试使用参数设置值标签的小数位数,而不是硬编码:
places = 2
ggplot(dat, aes(group, val)) +
stat_summary(fun.y=mean, geom="text", aes(label=round(..y.., places)))
Run Code Online (Sandbox Code Playgroud)
eval中的错误(expr,envir,enclos):找不到对象'places'
但是,以下两个示例工作正常.
ggplot(dat, aes(group, val)) +
stat_summary(fun.y=mean, geom="text", aes(label=round(..y.., 2)))
ggplot(dat, aes(group, val)) +
geom_text(aes(label=round(val, places)))
Run Code Online (Sandbox Code Playgroud)
我在尝试编写ggplot函数时遇到了这个问题.起初我认为问题涉及ggplot没有从函数环境中获取参数,但上面的例子表明这不是问题.为了完整起见,下面是该函数的简化示例以及错误消息.如果我将数字参数硬编码round,而不是尝试传递places参数,该函数可以正常工作.
pp1 = function(data, group, var, places=2, e=1.5) {
ggplot(data, aes_string(group, var)) +
geom_boxplot() +
stat_summary(fun.y=mean, geom="text", aes(label=round(..y.., places))) +
scale_y_continuous(limits = e * range(data[,var]))
}
pp1(dat, "group","val")
Run Code Online (Sandbox Code Playgroud)
eval中的错误(expr,envir,enclos):找不到对象'places'
我希望了解我是否做错了什么以及我如何能够获得理想的行为.
我在OS X 10.10.5上运行 …
我有一个看起来像的数据集
City Score Count Returns
Dallas 2.9 61 21
Phoenix 2.6 52 14
Milwaukee 1.7 38 7
Chicago 1.2 95 16
Phoenix 5.9 96 16
Dallas 1.9 45 12
Dallas 2.7 75 45
Chicago 2.2 75 10
Milwaukee 2.6 12 2
Milwaukee 4.5 32 0
Dallas 1.9 65 12
Chicago 4.9 95 13
Chicago 5 45 5
Phoenix 5.2 43 5
Run Code Online (Sandbox Code Playgroud)
我想用R markdown建立一份报告; 但是,对于每个城市,我需要建立一份报告.原因是一个城市无法看到另一个城市的报告.如何为每个城市构建报告并保存PDF?
每份报告都需要中位数Score,平均值Count和平均值Returns.我知道使用dplyr我可以简单地使用
finaldat <- dat %>%
group_by(City) %>%
summarise(Score …Run Code Online (Sandbox Code Playgroud) David Robinson给出了贝叶斯经验值随beta分布更新的一个很好的例子。他
这具有显着效果,即根据现有数据量加权平均值,并将低数据观测值缩小至更接近平均值。
我们如何更新计数和正常情况的估计值。我假设伽马用于计数,高斯用于普通,但是如果有人有的话,我很乐意在R中看到这样的示例。
情况:
我有一个ggplot图,我想在其中添加一些文本注释.文本注释应该出现在两行中(可读性和空间),每行包含一些TeX公式:
library(tidyverse)
library(latex2exp)
ggplot(NULL, aes(c(-5,5))) +
geom_area(stat = "function", fun = dnorm, fill = "grey40", xlim = c(-2, 2)) +
annotate(geom = "text", label = TeX(paste("Distribution of $\\bar{x}$","\n","under $H_0$")),
x = -1, y = 0.3,
color = "red")
Run Code Online (Sandbox Code Playgroud)
问题:
换行没有显示出来.该线不分为两行.
什么没有奏效:
我曾尝试paste(TeX(...)),并parse = T没有成功.
我也试过这个label = expression(paste("distribution of ", bar(x), "\n", "under H0"))抬头这里,没有成功.
题:
如何将注释(红色文本)分成两行?