delphi listview1添加指定列_ggplot2图形上简单快速添加统计P值,看这个包就够了

本文介绍了如何使用R语言的ggpval包在ggplot2图形上简便快捷地添加统计P值。该包支持箱型图、分面箱型图和条形图,并允许自定义检验方法、显示方式和外观属性。
摘要由CSDN通过智能技术生成

d7cb75ae3231bfc01eec01e2041b5a3c.png

前面我们学习了怎么往ggplot2图形上添加显著性差异的P值。

R语言统计与绘图:基于ggplot2包绘制带误差线的线图和条形图

R语言统计与绘图:在ggplot2图形上添加显著性差异注释

今天来学习一个新包,使用这个新包可以往ggplot2图形上更简单快速的添加P值。

ggpval包可以执行统计检验,并且自动往ggplot2图形上添加相应的P值,P值可以显示为数字或者星形符号,也可以显示为文本注释。

1. 安装和加载R包

install.packages("ggpval")  # 安装包
tall.packages("ggplot2") # 安装包
library(ggplot2)  # 加载包
library(ggpval)  # 加载包

# ggpval包也可以从github上安装
# install.packages("devtools")
devtools::install_github("s6juncheng/ggpval")

2. 创建数据集

数据集来自函数帮助文件。

A 200, 0, 3) # 创建连续性变量
B 200, 2, 4) # 创建连续性变量
G "G1", "G2"), each = 100) # 创建个分组变量

library(data.table) # 加载包用来创建数据集
dt # 创建数据集
dt # 查看数据集,下面的图形都是在Rmarkdown中生成的
5d38c63591ad696c49bab4839bac88d7.png

3. 数据集处理

转换数据集,将数据集由宽数据集变为长数据集。

dt1 "G")
dt1
55b4ede053bec68455b635af99667772.png

4. 箱型图示例

先画一个ggplot2箱型图,再指定哪两个组配对比较。

# 绘制箱型图,并将图形传递给plt参数
plt   geom_boxplot() + # 绘制箱型图
  geom_jitter() # 添加抖动散点
plt
197164036402b395f6036c72322dd1eb.png
# 指定配对比较的组进行统计检验
add_pval(plt, pairs = list(c(1, 2)))
# 指定1组和2组进行比较
2d569f5a4928707b211674b4ebba5c03.png

除了添加P值外,还可以指定文本注释,当指定添加文本注释时,统计检验不会进行。

统计检验默认wilcox.test,可以调节参数修改成其他检验方法。

add_pval(plt, pairs = list(c(1, 2)), 
         annotation = "指定文本注释")
12d6507de9d0f34886688ec25a4f0191.png

5. 分面箱型图示例

除了普通箱型图外,还可以绘制分面箱型图,然后进行统计检验。

# 绘制分面箱型图,并将图形传递给pltf参数
pltf   geom_boxplot() +
  geom_jitter() +
  facet_wrap(~G) # 绘制分面箱型图,分面变量为G变量
pltf
4b0088724f90c709c1bef9e6160cb5a5.png
# 指定配对比较的组进行统计检验
add_pval(pltf, pairs = list(c(1, 2)))
# 指定1组和2组进行比较
25451631b11fb7bbe17f1a491e23b109.png

分面箱型图也可以指定添加注释文本,只需给annotation参数添加个list注释即可

# 指定配对比较的组进行统计检验
add_pval(pltf, pairs = list(c(1, 2)), 
         annotation = list("注释文本1", "注释文本2"))
# 指定1组和2组进行比较
03988e057d572b14da5175c577f7d062.png

6. 条形图示例

ggpval还可以在条形图上进行统计检验。

先绘制一个条形图。

plt_bar   geom_bar(stat = "identity", position = 'dodge')
plt_bar
bc131fbd3da4127fb162d45997586fa2.png

指定条形图的1组和2组进行统计检验。

add_pval(plt_bar, pairs = list(c(1, 2)), 
         response = 'value') # 指定进行统计检验的列
1b060908a5bb298e6c6e64cbe5463e62.png

绘制分面条形图,跟分面箱型图差不多。

plt_bar   geom_bar(stat = "identity", position = 'dodge') +
  facet_wrap(~G)
plt_bar
4ad5d26eb3568872e4d53ee392cc48f8.png
add_pval(plt_bar, pairs = list(c(1, 2)), response = 'value')
ce200c9b793ef172c2b235d29b3187b1.png

7. 外观属性设置

选用最前面的箱型图进行演示,怎么修改显著性检验的外观属性。

# 绘制箱型图,并将图形传递给plt参数
plt   geom_boxplot()

add_pval(plt, pairs = list(c(1, 2)),
         barheight = 2,
         heights = 15,
         textsize = 5)
dbfcbc65673b4a3f17ad5c6f3d1f46bf.png
参考资料
  1. ggpval包帮助文件

既往专辑

2c33f481b638029664c774f3cbc4258e.png

ace87d823531fad54fd29329d928f594.png

d07b88dc74337298e7536280984aeac5.png

acd1a16bcf9ce0dd1357b633a994bbfd.png

8e0a53aa6c3adba5b5d1838b6c9345de.png

77ddba866663f14123c2a122396ea37b.png

03642b14b1df1fa88eb25ff1b52fcba6.png

11f70f6fa1c5544305fa99333d429589.png

ce4e331ce9826df99e391fed38b0fbf2.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi ListView 控件添加数据如果显得慢,可能是由于以下几个原因: 1. **大量数据一次性填充**:如果你试图一次将大量的数据添加ListView 中,尤其是当表视图的大小设置得不够大以显示所有数据时,这可能会导致性能下降。解决方法可以是分批加载数据,或者提供一种滚动加载的方式。 2. **内存效率**:ListView 需要为每一项数据创建一个单独的 TListItem 对象,如果数据结构复杂或者包含大量的图片或其他资源,这可能导致内存消耗增大,影响响应速度。优化内存管理,例如使用 TVirtualStringList 或者减少无用的数据存储,可以提高效率。 3. **数据处理**:添加之前对数据进行排序、过滤等操作可能会占用较多时间。尽量在添加数据前完成这些操作。 4. **索引使用不当**:如果 ListView 的索引没有合理利用,频繁的索引查找会降低性能。确保索引字段已经被 ListView 设置为 IndexField,并且数据已经按该字段排序。 5. **硬件限制**:如果硬件性能较差,即使是简单操作也可能感觉较慢。检查是否有足够的 CPU 和内存可用。 6. **界面其他操作阻塞**:检查是否有其他耗时的操作同时发生,如绘制、事件处理等,可能会干扰 ListView 的更新。 为了优化,你可以尝试以下几种策略: - 使用虚拟表(Virtual Mode),只在需要的时候动态生成项。 - 使用后台线程加载数据,避免阻塞 UI。 - 调整 ListView 的设置,比如增加缓冲区大小,使其能更快地响应用户的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值