当前位置:网站首页>GGPUBR: HOW TO ADD ADJUSTED P-VALUES TO A MULTI-PANEL GGPLOT
GGPUBR: HOW TO ADD ADJUSTED P-VALUES TO A MULTI-PANEL GGPLOT
2022-07-02 09:38:00 【小宇2022】
# Load required R packages
library(ggpubr)
library(rstatix)
# Data preparation
df <- tibble::tribble(
~sample_type, ~expression, ~cancer_type, ~gene,
"cancer", 25.8, "Lung", "Gene1",
"cancer", 25.5, "Liver", "Gene1",
"cancer", 22.4, "Liver", "Gene1",
"cancer", 21.2, "Lung", "Gene1",
"cancer", 24.5, "Liver", "Gene1",
"cancer", 27.3, "Liver", "Gene1",
"cancer", 30.9, "Liver", "Gene1",
"cancer", 17.6, "Breast", "Gene1",
"cancer", 19.7, "Lung", "Gene1",
"cancer", 9.7, "Breast", "Gene1",
"cancer", 15.2, "Breast", "Gene2",
"cancer", 26.4, "Liver", "Gene2",
"cancer", 25.8, "Lung", "Gene2",
"cancer", 9.7, "Breast", "Gene2",
"cancer", 21.2, "Lung", "Gene2",
"cancer", 24.5, "Liver", "Gene2",
"cancer", 14.5, "Breast", "Gene2",
"cancer", 19.7, "Lung", "Gene2",
"cancer", 25.2, "Lung", "Gene2",
"normal", 43.5, "Lung", "Gene1",
"normal", 76.5, "Liver", "Gene1",
"normal", 21.9, "Breast", "Gene1",
"normal", 69.9, "Liver", "Gene1",
"normal", 101.7, "Liver", "Gene1",
"normal", 80.1, "Liver", "Gene1",
"normal", 19.2, "Breast", "Gene1",
"normal", 49.5, "Lung", "Gene1",
"normal", 34.5, "Breast", "Gene1",
"normal", 51.9, "Lung", "Gene1",
"normal", 67.5, "Lung", "Gene2",
"normal", 30, "Breast", "Gene2",
"normal", 76.5, "Liver", "Gene2",
"normal", 88.5, "Liver", "Gene2",
"normal", 69.9, "Liver", "Gene2",
"normal", 49.5, "Lung", "Gene2",
"normal", 80.1, "Liver", "Gene2",
"normal", 79.2, "Liver", "Gene2",
"normal", 12.6, "Breast", "Gene2",
"normal", 97.5, "Liver", "Gene2",
"normal", 64.5, "Liver", "Gene2"
)
# Summary statistics
df %>%
group_by(gene, cancer_type, sample_type) %>%
get_summary_stats(expression, type = "common")
# Statistical test
# group the data by cancer type and gene
# Compare expression values of normal and cancer samples
stat.test <- df %>%
group_by(cancer_type, gene) %>%
t_test(expression ~ sample_type) %>%
adjust_pvalue(method = "bonferroni") %>%
add_significance()
stat.test
# Create boxplot
bxp <- ggboxplot(
df, x = "sample_type", y = "expression",
facet.by = c("gene", "cancer_type")
) +
rotate_x_text(angle = 60)
# Add adjusted p-values
stat.test <- stat.test %>% add_xy_position(x = "sample_type")
bxp + stat_pvalue_manual(stat.test, label = "p.adj")
# Load required R packages
library(ggpubr)
library(rstatix)
# Data preparation
df <- tibble::tribble(
~sample_type, ~expression, ~cancer_type, ~gene,
"cancer", 25.8, "Lung", "Gene1",
"cancer", 25.5, "Liver", "Gene1",
"cancer", 22.4, "Liver", "Gene1",
"cancer", 21.2, "Lung", "Gene1",
"cancer", 24.5, "Liver", "Gene1",
"cancer", 27.3, "Liver", "Gene1",
"cancer", 30.9, "Liver", "Gene1",
"cancer", 17.6, "Breast", "Gene1",
"cancer", 19.7, "Lung", "Gene1",
"cancer", 9.7, "Breast", "Gene1",
"cancer", 15.2, "Breast", "Gene2",
"cancer", 26.4, "Liver", "Gene2",
"cancer", 25.8, "Lung", "Gene2",
"cancer", 9.7, "Breast", "Gene2",
"cancer", 21.2, "Lung", "Gene2",
"cancer", 24.5, "Liver", "Gene2",
"cancer", 14.5, "Breast", "Gene2",
"cancer", 19.7, "Lung", "Gene2",
"cancer", 25.2, "Lung", "Gene2",
"normal", 43.5, "Lung", "Gene1",
"normal", 76.5, "Liver", "Gene1",
"normal", 21.9, "Breast", "Gene1",
"normal", 69.9, "Liver", "Gene1",
"normal", 101.7, "Liver", "Gene1",
"normal", 80.1, "Liver", "Gene1",
"normal", 19.2, "Breast", "Gene1",
"normal", 49.5, "Lung", "Gene1",
"normal", 34.5, "Breast", "Gene1",
"normal", 51.9, "Lung", "Gene1",
"normal", 67.5, "Lung", "Gene2",
"normal", 30, "Breast", "Gene2",
"normal", 76.5, "Liver", "Gene2",
"normal", 88.5, "Liver", "Gene2",
"normal", 69.9, "Liver", "Gene2",
"normal", 49.5, "Lung", "Gene2",
"normal", 80.1, "Liver", "Gene2",
"normal", 79.2, "Liver", "Gene2",
"normal", 12.6, "Breast", "Gene2",
"normal", 97.5, "Liver", "Gene2",
"normal", 64.5, "Liver", "Gene2"
)
# Summary statistics
df %>%
group_by(gene, cancer_type, sample_type) %>%
get_summary_stats(expression, type = "common")
# Statistical test
# group the data by cancer type and gene
# Compare expression values of normal and cancer samples
stat.test <- df %>%
group_by(cancer_type, gene) %>%
t_test(expression ~ sample_type) %>%
adjust_pvalue(method = "bonferroni") %>%
add_significance()
stat.test
# Create boxplot
bxp <- ggboxplot(
df, x = "sample_type", y = "expression",
facet.by = c("gene", "cancer_type")
) +
rotate_x_text(angle = 60)
# Add adjusted p-values
stat.test <- stat.test %>% add_xy_position(x = "sample_type")
bxp + stat_pvalue_manual(stat.test, label = "p.adj.signif")
# Load required R packages
library(ggpubr)
library(rstatix)
# Data preparation
df <- tibble::tribble(
~sample_type, ~expression, ~cancer_type, ~gene,
"cancer", 25.8, "Lung", "Gene1",
"cancer", 25.5, "Liver", "Gene1",
"cancer", 22.4, "Liver", "Gene1",
"cancer", 21.2, "Lung", "Gene1",
"cancer", 24.5, "Liver", "Gene1",
"cancer", 27.3, "Liver", "Gene1",
"cancer", 30.9, "Liver", "Gene1",
"cancer", 17.6, "Breast", "Gene1",
"cancer", 19.7, "Lung", "Gene1",
"cancer", 9.7, "Breast", "Gene1",
"cancer", 15.2, "Breast", "Gene2",
"cancer", 26.4, "Liver", "Gene2",
"cancer", 25.8, "Lung", "Gene2",
"cancer", 9.7, "Breast", "Gene2",
"cancer", 21.2, "Lung", "Gene2",
"cancer", 24.5, "Liver", "Gene2",
"cancer", 14.5, "Breast", "Gene2",
"cancer", 19.7, "Lung", "Gene2",
"cancer", 25.2, "Lung", "Gene2",
"normal", 43.5, "Lung", "Gene1",
"normal", 76.5, "Liver", "Gene1",
"normal", 21.9, "Breast", "Gene1",
"normal", 69.9, "Liver", "Gene1",
"normal", 101.7, "Liver", "Gene1",
"normal", 80.1, "Liver", "Gene1",
"normal", 19.2, "Breast", "Gene1",
"normal", 49.5, "Lung", "Gene1",
"normal", 34.5, "Breast", "Gene1",
"normal", 51.9, "Lung", "Gene1",
"normal", 67.5, "Lung", "Gene2",
"normal", 30, "Breast", "Gene2",
"normal", 76.5, "Liver", "Gene2",
"normal", 88.5, "Liver", "Gene2",
"normal", 69.9, "Liver", "Gene2",
"normal", 49.5, "Lung", "Gene2",
"normal", 80.1, "Liver", "Gene2",
"normal", 79.2, "Liver", "Gene2",
"normal", 12.6, "Breast", "Gene2",
"normal", 97.5, "Liver", "Gene2",
"normal", 64.5, "Liver", "Gene2"
)
# Summary statistics
df %>%
group_by(gene, cancer_type, sample_type) %>%
get_summary_stats(expression, type = "common")
# Statistical test
# group the data by cancer type and gene
# Compare expression values of normal and cancer samples
stat.test <- df %>%
group_by(cancer_type, gene) %>%
t_test(expression ~ sample_type) %>%
adjust_pvalue(method = "bonferroni") %>%
add_significance()
stat.test
# Create boxplot
bxp <- ggboxplot(
df, x = "sample_type", y = "expression",
facet.by = c("gene", "cancer_type")
) +
rotate_x_text(angle = 60)
# Add adjusted p-values
stat.test <- stat.test %>% add_xy_position(x = "sample_type")
# Hide ns and change the bracket tip length
bxp + stat_pvalue_manual(
stat.test, label = "p.adj.signif",
hide.ns = TRUE, tip.length = 0
)
# Load required R packages
library(ggpubr)
library(rstatix)
# Data preparation
df <- tibble::tribble(
~sample_type, ~expression, ~cancer_type, ~gene,
"cancer", 25.8, "Lung", "Gene1",
"cancer", 25.5, "Liver", "Gene1",
"cancer", 22.4, "Liver", "Gene1",
"cancer", 21.2, "Lung", "Gene1",
"cancer", 24.5, "Liver", "Gene1",
"cancer", 27.3, "Liver", "Gene1",
"cancer", 30.9, "Liver", "Gene1",
"cancer", 17.6, "Breast", "Gene1",
"cancer", 19.7, "Lung", "Gene1",
"cancer", 9.7, "Breast", "Gene1",
"cancer", 15.2, "Breast", "Gene2",
"cancer", 26.4, "Liver", "Gene2",
"cancer", 25.8, "Lung", "Gene2",
"cancer", 9.7, "Breast", "Gene2",
"cancer", 21.2, "Lung", "Gene2",
"cancer", 24.5, "Liver", "Gene2",
"cancer", 14.5, "Breast", "Gene2",
"cancer", 19.7, "Lung", "Gene2",
"cancer", 25.2, "Lung", "Gene2",
"normal", 43.5, "Lung", "Gene1",
"normal", 76.5, "Liver", "Gene1",
"normal", 21.9, "Breast", "Gene1",
"normal", 69.9, "Liver", "Gene1",
"normal", 101.7, "Liver", "Gene1",
"normal", 80.1, "Liver", "Gene1",
"normal", 19.2, "Breast", "Gene1",
"normal", 49.5, "Lung", "Gene1",
"normal", 34.5, "Breast", "Gene1",
"normal", 51.9, "Lung", "Gene1",
"normal", 67.5, "Lung", "Gene2",
"normal", 30, "Breast", "Gene2",
"normal", 76.5, "Liver", "Gene2",
"normal", 88.5, "Liver", "Gene2",
"normal", 69.9, "Liver", "Gene2",
"normal", 49.5, "Lung", "Gene2",
"normal", 80.1, "Liver", "Gene2",
"normal", 79.2, "Liver", "Gene2",
"normal", 12.6, "Breast", "Gene2",
"normal", 97.5, "Liver", "Gene2",
"normal", 64.5, "Liver", "Gene2"
)
# Summary statistics
df %>%
group_by(gene, cancer_type, sample_type) %>%
get_summary_stats(expression, type = "common")
# Statistical test
# group the data by cancer type and gene
# Compare expression values of normal and cancer samples
stat.test <- df %>%
group_by(cancer_type, gene) %>%
t_test(expression ~ sample_type) %>%
adjust_pvalue(method = "bonferroni") %>%
add_significance()
stat.test
# Create boxplot
bxp <- ggboxplot(
df, x = "sample_type", y = "expression",
facet.by = c("gene", "cancer_type")
) +
rotate_x_text(angle = 60)
# Add adjusted p-values
stat.test <- stat.test %>% add_xy_position(x = "sample_type")
# Show p-values and significance levels
bxp + stat_pvalue_manual(
stat.test, label = "{p.adj}{p.adj.signif}",
hide.ns = TRUE, tip.length = 0
)
边栏推荐
猜你喜欢
随机推荐
Array splitting (regular thinking
SQLite modify column type
spritejs
ImportError: cannot import name ‘Digraph‘ from ‘graphviz‘
Is the Ren domain name valuable? Is it worth investing? What is the application scope of Ren domain name?
TIPC Cluster5
Approximate sum count (approximate
Attribute acquisition method and operation notes of C # multidimensional array
揭露数据不一致的利器 —— 实时核对系统
mysql 基本语句
TIPC Getting Started6
Importerror: impossible d'importer le nom « graph» de « graphviz»
LVM operation
II Stm32f407 chip GPIO programming, register operation, library function operation and bit segment operation
Tdsql | difficult employment? Tencent cloud database micro authentication to help you
Tidb DM alarm DM_ sync_ process_ exists_ with_ Error troubleshooting
Compilation errors and printout garbled problems caused by Chinese content in vs2019 code
Is it safe to open a stock account online? I'm a novice, please guide me
基于 Openzeppelin 的可升级合约解决方案的注意事项
ASTParser 解析含有emum 枚举方法的类文件的踩坑记