小编J.C*_*Con的帖子

与 geom_signif 函数的多重比较,R

该包ggsignif对于快速、轻松地指示ggplot图表中的显着比较非常有用。但是,该comparisons调用需要手动键入要比较的每对值。

例如。

library(ggplot2)
library(ggsignif)

data(iris)

ggplot(iris, aes(x=Species, y=Sepal.Length)) + 
  geom_boxplot() +
  geom_signif(comparisons = list(c("versicolor", "virginica"),c('versicolor','setosa')), 
              map_signif_level=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想知道如何通过立即引用所有可能的组合来避免这种情况?例如,expand.grid(x = levels(iris$Species), y = levels(iris$Species)),给出所有组合

           x          y
1     setosa     setosa
2 versicolor     setosa
3  virginica     setosa
4     setosa versicolor
5 versicolor versicolor
6  virginica versicolor
7     setosa  virginica
8 versicolor  virginica
9  virginica  virginica
Run Code Online (Sandbox Code Playgroud)

但如何让这个被接受geom_signif(comparisons=...呢?

软件包信息可在此处获取https://cran.r-project.org/web/packages/ggsignif/index.html

statistics r graph ggplot2 pairwise

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

等值线中的组数错误使用sf,ggplot和cut_interval()

我试图控制使用在地区分布种类数量sf,ggplot2以及cut_interval()ggplot2.有时它可以工作,但是对于一些数据集,类别的数量是1.下面是我的代码,输入数据集(7Kb)在这里: ggplot-test-04.geojson

library(sf)
library(ggplot2)

lga.sf <-  st_read("ggplot-test-04.geojson")

ggplot() +
  geom_sf(data = lga.sf,
          aes(fill = cut_interval(value,5))) +
  scale_fill_brewer(palette = "RdYlBu", 
                    name = "Legend" )
Run Code Online (Sandbox Code Playgroud)

我想获得5组但结果有4个: 4组

在一些数据集中,此代码工作正常.有时我可以选择说n = 6 in cut_interval()来获得5组.但是,我发现经常无法控制等值区域中的群体数量,这对我来说至关重要.到目前为止,我无法判断我的数据是否有问题,我的代码或是否存在软件错误.

r ggplot2 choropleth r-sf

4
推荐指数
1
解决办法
91
查看次数

调整ggplot对象中的图例标题位置,R

在下面的示例中,我使用factoextraFactoMineR创建双标图。该图有一个颜色条,标题在技术上居中居中,但它位于颜色条和刻度数的中间,使其看起来太低,尤其是当我旁边有另一个图例时。

library("factoextra")
library("FactoMineR")

data("decathlon2")
df <- decathlon2[1:23, 1:10]

res.pca <- PCA(df,  graph = FALSE)

p<-fviz_pca_var(res.pca, col.var="contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE)+
  theme(legend.position='bottom')

p$labels$colour<-'Contribution to variance'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想提出它,我已经尝试使用 +guides(colour=guide_legend(title.vjust = 0.5))

p<-fviz_pca_var(res.pca, col.var="contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE)+
  theme(legend.position='bottom')+
  guides(colour=guide_legend(title.vjust = 0.5))

p$labels$colour<-'Contribution to variance'
Run Code Online (Sandbox Code Playgroud)

但这摆脱了颜色条以换取字母。任何人都可以帮助解决这个问题吗?仅供参考,情节是一个ggplot对象。谢谢

在此处输入图片说明

plot r legend ggplot2

4
推荐指数
1
解决办法
1853
查看次数

在 facet_wrap 条文本中只显示一个变量标签?

我绘制使用多个图形facet_wrap()ggplot2R。当通过多个变量进行分面时,结果包括条带文本中的两个标签。我怎样才能删除一个?

在这个来自mpg数据集的玩具示例中,如何cyl仅保留标签?谢谢

ggplot(mpg, aes(displ, hwy)) +
  geom_point() +
  facet_wrap(c("cyl", "drv"))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

plot r facet ggplot2 facet-wrap

3
推荐指数
1
解决办法
1930
查看次数

强制Plotly相关热图色标在零处为白色-R

我在中生成了相关的热图plotly。比例尺范围从-1到1。随着相关性的增强,图块将变深红色。随着相关性变得越来越弱,图块会被涂成深蓝色。我需要零值才能显示为白色。但是,色条仅根据数据集的分布选择零色。如何强制零值显示为白色并位于颜色栏的中间?我尝试使用此答案,但无法使其适用于此热图。请帮我生气!

library(plotly)
library(magrittr)

# compute a correlation matrix
correlation <- round(cor(mtcars), 3)
nms <- names(mtcars)


colorlength <- 100

null_value <- (0 - min(correlation)) / (max(correlation) - min(correlation))        
border <- as.integer(null_value * colorlength)
colorscale <- as.list(1:colorlength)

#colorscale below zero
s <- scales::seq_gradient_pal("blue", "white", "Lab")(seq(0,1,length.out=border))
for (i in 1:border) {
  colorscale[[i]] <- c((i - 1) / colorlength, s[i])
}

#colorscale above zero
s <- scales::seq_gradient_pal("white", "red", "Lab")(seq(0,1,length.out=colorlength - border))
for (i in 1:(colorlength - border)) {
  colorscale[[i + …
Run Code Online (Sandbox Code Playgroud)

r colors heatmap correlation plotly

3
推荐指数
2
解决办法
767
查看次数

带有dplyr和ggplot的独特轴标签 - R.

purrr用来做多个ggplot2情节.如何使用数字字符串为每个x轴指定唯一名称?

我最好的尝试(下图)是唯一能够得到的字符串的第一个值,因此全部3个图的x轴表示1% explained variance,当我想三个不同的名字1% explained variance,2% explained variance3% explained variance.谢谢

library(tidyverse)

new<-c(1,2,3)

iris%>%
  split(.$Species) %>%
  purrr::map2(.y = names(.),
              ~ ggplot(data=., aes(x=Sepal.Length, y=Sepal.Width))+
                geom_point()+
                labs(x=paste(round(new,2),'% explained variance', sep=''))
  )
Run Code Online (Sandbox Code Playgroud)

r ggplot2 dplyr purrr

3
推荐指数
1
解决办法
234
查看次数

基于单个单元格内的%符号排序 - R.

我有一个data.frame包含这样的单元格:

df<-as.data.frame(c('10% - 34', '15.5% - 15:4', '18% - 1n9'))
Run Code Online (Sandbox Code Playgroud)

我想sort在每个单元格内,以便百分比值在右边,成为:

34 - 10%,15:4 - 15.5%,1n9 - 18%

我试过用'-'分隔符将它们分开并粘贴在一起,但对于大data.frames来说是否有更有效的方法?谢谢

regex sorting r dataframe

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

从 Shiny 保存 ggplot 会给出空白 png 文件

我正在尝试保存应用程序ggplot2中创建的对象shiny。基本上,此代码允许.xlsx上传文件并在从某些选项中进行选择后创建绘图。然后我添加了一个下载按钮,以便用户可以下载他们创建的绘图。我正在使用downloadHandler()grDevices::png()。按下按钮确实会.png下载文件,但当我打开它时,它只是一个空白的白色方块。我是如此接近!任何帮助将非常感激。谢谢。

#initialize
library(shiny)
library(ggplot2)
library(purrr)
library(dplyr)
library(plotly)


#example data
data(iris)

#make some factors
#easier to let ggplot2 control plotting (color, fill) based on type
data(mtcars)
uvals<-sapply(mtcars,function(x){length(unique(x))})
mtcars<-map_if(mtcars,uvals<4,as.factor) %>%
  as.data.frame()


#plotting theme for ggplot2
.theme<- theme(
  axis.line = element_line(colour = 'gray', size = .75),
  panel.background = element_blank(),
  plot.background = element_blank()
)


# UI for app
ui<-(pageWithSidebar(
  # title
  headerPanel("Select Options"),

  #input
  sidebarPanel
  (
    # Input: Select a file ---- …
Run Code Online (Sandbox Code Playgroud)

png r ggplot2 shiny

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

来自 HSD.test 的 P 值

我正在使用包中的HSD.test函数进行 TukeyHSD 事后测试。该函数工作正常,但我不确定 p 值隐藏在哪里。中的字母表示重要性,但实际的 p 值在哪里?谢谢agricolaeRgroups

library(agricolae)
data(sweetpotato)
model<-aov(yield~virus, data=sweetpotato)
out <- HSD.test(model,"virus", group=TRUE,console=TRUE,
main="Yield of sweetpotato\nDealt with different virus")



Study: Yield of sweetpotato
Dealt with different virus

HSD Test for yield 

Mean Square Error:  22.48917 

virus,  means

      yield      std r  Min  Max
cc 24.40000 3.609709 3 21.7 28.5
fc 12.86667 2.159475 3 10.6 14.9
ff 36.33333 7.333030 3 28.0 41.8
oo 36.90000 4.300000 3 32.1 40.4

Alpha: 0.05 ; DF Error: 8 
Critical …
Run Code Online (Sandbox Code Playgroud)

statistics r anova posthoc p-value

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