该包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
我试图控制使用在地区分布种类数量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)
在一些数据集中,此代码工作正常.有时我可以选择说n = 6 in cut_interval()来获得5组.但是,我发现经常无法控制等值区域中的群体数量,这对我来说至关重要.到目前为止,我无法判断我的数据是否有问题,我的代码或是否存在软件错误.
在下面的示例中,我使用factoextra和FactoMineR创建双标图。该图有一个颜色条,标题在技术上居中居中,但它位于颜色条和刻度数的中间,使其看起来太低,尤其是当我旁边有另一个图例时。
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对象。谢谢
我绘制使用多个图形facet_wrap()从ggplot2包R。当通过多个变量进行分面时,结果包括条带文本中的两个标签。我怎样才能删除一个?
在这个来自mpg数据集的玩具示例中,如何cyl仅保留标签?谢谢
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
facet_wrap(c("cyl", "drv"))
Run Code Online (Sandbox Code Playgroud)
我在中生成了相关的热图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) 我purrr用来做多个ggplot2情节.如何使用数字字符串为每个x轴指定唯一名称?
我最好的尝试(下图)是唯一能够得到的字符串的第一个值,因此全部3个图的x轴表示1% explained variance,当我想三个不同的名字1% explained variance,2% explained variance和3% 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) 我有一个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来说是否有更有效的方法?谢谢
我正在尝试保存应用程序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) 我正在使用包中的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)