小编eip*_*i10的帖子

如何在facet ggplot的空白区域中定位注释文本

如何在奇数编号的刻面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的注释文本.有没有人对此有任何想法.或者可能的工作是什么.谢谢.

plot annotations r facet ggplot2

5
推荐指数
1
解决办法
1017
查看次数

R中的cv.glmnet函数是否有任何摘要?

可以使用glm函数在R中执行常规的普通线性模型,该函数具有自己的汇总函数方法,并且可以汇总模型,其中每个变量的输出都有p值。根据这些p值,可以说出哪些变量具有统计意义,或者在特定置信度下不具有统计学意义。

我的问题是。有没有对相同的功能cv.glmnet,从功能glmnet包?我知道经过计算后,我可以收到一个系数表,coef(model, s="lambda.min")其中一些系数不为零。因此,我假设(可能错误地)认为这些非零值具有统计意义。我对吗?是否有任何方法可以为这些系数提供p值或置信区间?

r glmnet

5
推荐指数
0
解决办法
3806
查看次数

geom_boxplot:将alpha级别映射到胡须和异常值

是否有一种方法可以使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 ggplot2

5
推荐指数
1
解决办法
1005
查看次数

如何将R中数据框中的数据附加到已存在的Excel工作表中

我在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工作表中?

excel r xlsx

5
推荐指数
1
解决办法
2万
查看次数

levelplot框线宽R.

有没有人知道如何更改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)

r width lattice levelplot box

5
推荐指数
1
解决办法
4892
查看次数

ggplot2:如何在单个图中组合直方图,地图和逻辑回归预测

我试图将逻辑回归的组合图绘制为函数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)

最后的情节是我一直在努力实现的:

可怜的结果

plot r overlap ggplot2 logistic-regression

5
推荐指数
1
解决办法
2972
查看次数

ggplot2:stat_summary在尝试将函数参数作为参数传递时抛出错误,而不是硬编码

当我尝试将一个参数传递给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上运行 …

r parameter-passing ggplot2

5
推荐指数
1
解决办法
472
查看次数

如何使用R markdown为数据框的每个子集创建不同的报告?

我有一个看起来像的数据集

 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)

r r-markdown

5
推荐指数
1
解决办法
1415
查看次数

R中的经验贝叶斯

David Robinson给出了贝叶斯经验值随beta分布更新的一个很好的例子。他

  1. 从分布中找到先验
  2. 在更新每个击球手的估计值之前使用它。

这具有显着效果,即根据现有数据量加权平均值,并将低数据观测值缩小至更接近平均值。

我们如何更新计数正常情况的估计值。我假设伽马用于计数,高斯用于普通,但是如果有人有的话,我很乐意在R中看到这样的示例。

r normal-distribution gamma-distribution tidyverse

5
推荐指数
1
解决办法
689
查看次数

ggplot中的换行符用LateX表达式注释

情况:

我有一个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"))抬头这里,没有成功.

题:

如何将注释(红色文本)分成两行?

latex r line-breaks ggplot2 plotmath

5
推荐指数
1
解决办法
1852
查看次数