R语言acres92 region_R语言作Circos图之进阶篇:圈圈套圈圈的法门

本文介绍了如何使用R语言的circlize包进行Circos图的进阶绘制,特别是当数据由多个数据框组成时。通过示例展示了如何处理bedlist列表,调整track.height、ylim参数,并利用panel.fun和getI()函数来绘制不同数据框的点图。还提到了numeric.column参数的使用,控制显示的数值列,并鼓励读者进一步探索其他图形函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果把一组数据表组成一个列表(list),panel.fun则迭代用于各个数据表。再随机生成一个list来观察它的结构:

bedlist = list(

bed01=generateRandomBed(nc=1,nr=200), bed02=generateRandomBed(nc=1,nr=200)

)

这里用nc和nr控制一下列和行的数量,不要像上面那样1万多行做出个密恐图。nc是指除了前三列之外的数值型列数;但nr就比较随缘,最后生成的行数可能并不是我们设的200,对此,circlize包的作者也只是提醒,并没有解释。就这样吧,反正除了做练习,应该也不大会用到随机生成数据的方法。

就这样,bed01和bed02是互有联系的两个数据框,它们的第1列也有相同的内容。还可以观察到两个表每行的起止点并不一样,这是因为起止点不是对第1列负责,而是对应后面的数值。然后再生成点图:

circos.genomicTrackPlotRegion(

bedlist,track.height=0.1,ylim = c(-1,1),

panel.fun = function(region, value, ...) {

i = getI(...)

circos.genomicPoints(

region, value,pch = 16, cex = 0.1,col = i, ...)

})

</

R语言是一种专门用于统计计算和形展示的语言,对于你的需求,我们可以分步骤来编写代码: 1. 首先,假设数据存储在一个名为`df`的数据框中,其中包含`farms92`和`acres92`两个变量,你可以使用`sample()`函数来进行无放回的抽样。以下是抽样300个县的代码: ```r # 假设数据框df存在 set.seed(123) # 设置随机种子以便复现结果 sample_df <- df[sample(nrow(df), size = 300), ] # 抽取300行 ``` 2. 对于`acres92`变量的均值估计及其标准误差,可以使用内置的`mean()`和`sd()`函数: ```r mean_acres <- mean(sample_df$acres92) se_acres <- sd(sample_df$acres92) / sqrt(length(sample_df$acres92)) ``` 3. 如果你想对所有县的`acres92`总值进行估计并得到标准误差,你可以直接计算总和然后除以样本量,加上样本标准差除以根号样本量的公式: ```r total_acres <- sum(sample_df$acres92) total_se_acres <- se_acres * sqrt(nrow(df)) # 使用整个数据集的标准误 ``` 完整的代码示例: ```r # 假设df数据已经存在... set.seed(123) # 设置随机种子 sample_df <- df[sample(nrow(df), size = 300), ] # 参数估计和标准误差 mean_acres <- mean(sample_df$acres92) se_acres <- sd(sample_df$acres92) / sqrt(length(sample_df$acres92)) # 总和与标准误差 total_acres <- sum(sample_df$acres92) total_se_acres <- se_acres * sqrt(nrow(df)) # 输出结果 cat("均值估计:", mean_acres, " SE:", se_acres, "\n") cat("总值估计:", total_acres, " SE:", total_se_acres, "\n") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值