精华内容
下载资源
问答
  • 冗余分析代码
    2021-04-22 12:45:37

    java 高并发的解决方案对于我们开发的网站,如果网站的访问量非常大的话, 那么...

    java 高并发的解决方案 对于我们开发的网站,如果网站的访问量非常大的话, 那...

    (错误纠正代码) 59.EIS:Enterprise Information System(企业信息系统) 60.EJB:Enterprise JavaBean(企业 JavaBean) 61.encapsulate:封装 62.ESB:Enterprise Service ......

    使用网络拓扑消除冗余告警方法的研究及实现 周飞;金可音;杨武;杨亮 【期刊名称】...

    (错误纠正代码) 59.EIS:Enterprise Information System(企业信息系统) 60.EJB:Enterprise JavaBean(企业 JavaBean) 61.encapsulate:封装 62.ESB:Enterprise Service ......

    另外,把处理异常方法和捕获异常分离可以减少很 多冗余代码,提高代码的可读性。在以...

    结果就遗漏了合 法性检查这一必要的处理过程,造成问题隐患,要么就是调用者和被调用者均对 参数进行合法性检查,这种情况虽不会造成问题,但产生了冗余代码,降低了......

    结果就遗漏了合 法性检查这一必要的处理过程,造成问题隐患,要么就是调用者和被调用者均对 参数进行合法性检查,这种情况虽不会造成问题,但产生了冗余代码,降低了......

    在 java 代码中输入字符时,向操作系统传递的数据经过了中间的编码环节 必答题...

    Java 语音编码规范(华为) 【最新资料,WORD 文档,可编辑修改】 Doc...

    WorldWind 源代码研究经历---峰之巅 解读版 QQ:314677005 Java 版 WorldWind 源代码学习笔记该文档编写者系数学系毕业且未满一年工作经验的职场新人, java 知识......

    会有新的问题: 执行 interrupt 方法后你的线程类会抛 InterruptedException,上有政策下有对策,加一 个开关变量做判断就能完美解决,可参考下面的代码: Java 代码: ......

    Java 知识点整理第二章 Java 基木语法类名、方法名、变量: 1、 必须以...

    (2)注意到所有要进行字符串拼接的地方都使用 JAVA 中的 StringBuilder 类, 这是为了高效处理字符串拼接, 防止 String 类带来 的拼接数据冗余。 (3)这些设计中......

    没有实现线程安全,因此性能比 StringBuffer 好 第五章 类和类之间的关系 1、继承的主要作用是什么(ABC) A.解决代码重用 B.减少代码冗余 C.便于扩展 2、类和......

    代码实现(部分) package src; import java.awt.AlphaComposite; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import ......

    能根据要求,设计出简洁、冗余代码少,可 重用性高的程序为满分。没有达到设计要求的按比例扣分。 代码可读性好,格式规范,为满分。代码缩进不规范扣 1 分;方法......

    代码填空显示“DaSai”目录下以”Ex”开头的文件和目录,写了如下代码,请完善之: import java.io.*; class JavaFilter implements FilenameFilter{ String jf; ......

    版本 1.0 课程 4 幻灯片 12,共 26 张, Java 编程语言继承 继承指从父类获取一组属性和相关的行为。 继承的好处:减少代码中的冗余 代码容易维护 扩展现有类......

    (2)注意到所有要进行字符串拼接的地方都使用 JAVA 中的 StringBuilder 类,这是为了高效处理字符串拼接,防止 String 类带来 的拼接数据冗余。(3)这些设计中的流程......

    更多相关内容
  • 冗余代码检测与分析

    2021-01-27 16:23:42
    代码冗余的原因多种多样,从未使用的变量到未完成的变更,再到废弃的代码冗余代码会产生一系列的影响,包括源代码臃肿、可靠性及可维护性降低。在某些情况下,死代码也会影响性能; 为了检测冗余代码,作者开发了...
  • 可以应用于数据的多元分析,降维以及冗余分析,文件内包含多个程序代码,数据文件请根据自身自行导入,这里不提供相应数据文件,该代码偏向初学者,若有不足,欢迎各位指正
  • R语言实现冗余分析(RDA)完整代码

    万次阅读 多人点赞 2020-05-21 21:07:16
    话不多说,先贴代码。 需要数据和文档、数据私信我! library(vegan) ##读取数据 #读入物种数据,细菌门水平丰度表(OTU 水平数据量太大,后续的置换检验和变量选择过程很费时间,不方便做示例演示) phylum <...

    话不多说,先贴代码。

    文末有数据的获取地址

    library(vegan)
    
    ##读取数据
    #读入物种数据,细菌门水平丰度表(OTU 水平数据量太大,后续的置换检验和变量选择过程很费时间,不方便做示例演示)
    phylum <- read.delim('phylum_table.txt', row.names = 1, sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
    
    #读取环境数据
    env <- read.delim('env_table.txt', row.names = 1, sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
    
    ##RDA
    #调用格式 1
    #rda(Y, X, W)
    #或者 2
    #rda(Y~var1+var2+var3+factorA+var2*var3+Condition(var4))
    
    #直接使用原始数据,不做转化。对于群落物种组成数据来讲(因为通常包含很多 0 值),不是很推荐
    rda_result <- rda(phylum~., env, scale = FALSE)
    
    ##tb-RDA
    #物种数据 Hellinger 预转化(处理包含很多 0 值的群落物种数据时,推荐使用)
    phylum_hel <- decostand(phylum, method = 'hellinger')
    
    #使用全部的环境数据
    rda_tb <- rda(phylum_hel~., env, scale = FALSE)
    
    #若只关注局部环境数据,除了在原始表格中修改变量个数外,还可直接在 rda() 中指定
    #例如只考虑 pH、TC、TN、AP、AK 这 5 种环境变量
    #rda_tb <- rda(phylum_hel~pH+TC+TN+AP+AK, env, scale = FALSE)
    
    #默认情况下,rda(phylum_hel~., env),不包含环境变量间的交互作用
    #若想关注某两个环境变量间的交互作用,例如添加 TC 和 TN 的交互作用项
    #rda_tb <- rda(phylum_hel~pH+TC+DOC+SOM+TN+NO3+NH4+AP+AK+TC*TN, env, scale = FALSE)
    
    ##偏 RDA
    #例如控制土壤 pH 影响后(pH 作为协变量),观测其它环境因素的影响;物种数据 Hellinger 预转化
    rda_part <- rda(phylum_hel~TC+DOC+SOM+TN+NO3+NH4+AP+AK+Condition(pH), data = env, scale = FALSE)
    
    ##db-RDA(以 Bray-curtis 距离为例,注意这里直接使用了原始的物种丰度矩阵)
    #计算距离
    dis_bray <- vegdist(phylum, method = 'bray')
    
    #PCoA 排序
    pcoa <- cmdscale(dis_bray, k = nrow(phylum) - 1, eig = TRUE, add = TRUE)
    
    #提取 PCoA 样方得分(坐标)
    pcoa_site <- pcoa$point
    
    #db-RDA,使用全部的环境数据
    rda_db <- rda(pcoa_site, env, scale = FALSE)
    
    #或者,capscale() 提供了直接运行的方法
    rda_db <- capscale(phylum~., env, distance = 'bray', add = TRUE)
    
    #若基于欧氏距离,则和常规 RDA 的结果一致
    #物种数据 Hellinger 转化后,分别执行 tb-RDA 与使用欧氏距离的 db-RDA
    rda_tb_test <- rda(phylum_hel~., env)
    rda_db_test <- capscale(phylum_hel~., env, distance = 'euclidean')
    
    par(mfrow = c(1, 2))
    plot(rda_tb_test, scaling = 1)
    plot(rda_db_test, scaling = 1)
    
    ##非线性 RDA *
    #本文不做介绍
    #可参见 “DanielBorcard, FranoisGillet, PierreLegendre, et al. 数量生态学:R语言的应用(赖江山 译). 高等教育出版社, 2014.” 170-174 页内容
    
    ##RDA 结果解读,以下以 tb-RDA 结果为例
    #查看统计结果信息,以 I 型标尺为例
    rda_tb.scaling1 <- summary(rda_tb, scaling = 1)
    rda_tb.scaling1
    
    #作图查看排序结果,三序图,包含 I 型标尺和 II 型标尺
    par(mfrow = c(1, 2))
    plot(rda_tb, scaling = 1, main = 'I 型标尺', display = c('wa', 'sp', 'cn'))
    rda_sp.scaling1 <- scores(rda_tb, choices = 1:2, scaling = 1, display = 'sp')
    arrows(0, 0, rda_sp.scaling1[ ,1], rda_sp.scaling1[ ,2], length =  0, lty = 1, col = 'red')
    plot(rda_tb, scaling = 2, main = 'II 型标尺', display = c('wa', 'sp', 'cn'))
    rda_sp.scaling2 <- scores(rda_tb, choices = 1:2, scaling = 2, display = 'sp')
    arrows(0, 0, rda_sp.scaling2[ ,1], rda_sp.scaling2[ ,2], length =  0, lty = 1, col = 'red')
    
    #隐藏物种信息,以 I 型标尺为例展示双序图,并查看分别使用物种加权计算的样方坐标以及拟合的样方坐标的差异
    par(mfrow = c(1, 2))
    plot(rda_tb, scaling = 1, main = 'I 型标尺,加权', display = c('wa', 'cn'))
    plot(rda_tb, scaling = 1, main = 'I 型标尺,拟合', display = c('lc', 'cn'))
    
    ##RDA 结果提取
    #scores() 提取排序得分(坐标),以 I 型标尺为例,分别提取前两个约束轴中的样方(排序对象)、物种(响应变量)、环境因子(解释变量)的排序坐标
    rda_site.scaling1 <- scores(rda_tb, choices = 1:2, scaling = 1, display = 'wa')	#使用物种加权和计算的样方坐标
    rda_sp.scaling1 <- scores(rda_tb, choices = 1:2, scaling = 1, display = 'sp')
    rda_env.scaling1 <- scores(rda_tb, choices = 1:2, scaling = 1, display = 'cn')
    #若需要输出在本地,以样方坐标为例,以 csv 格式为例
    write.csv(data.frame(rda_site.scaling1), 'rda_site.scaling1.csv')
    
    #coef() 提取典范系数
    rda_coef <- coef(rda_tb)
    
    #其它提取方式,首先查看结果包含的所有信息
    names(rda_tb.scaling1)
    #然后提取相关内容,例如我们想提取前两轴的“样方得分”,可如此做
    rda_site.scaling1 <- rda_tb.scaling1$sites[ ,1:2]
    #该结果和上述“scores(rda_tb, choices = 1:2, scaling = 1, display = 'wa')”的结果是一致的
    #同理,可如此输出在本地
    write.csv(data.frame(rda_site.scaling1), 'rda_site.scaling1.csv')
    
    ##R2 校正
    #RsquareAdj() 提取 R2
    r2 <- RsquareAdj(rda_tb)
    rda_noadj <- r2$r.squared	#原始 R2
    rda_adj <- r2$adj.r.squared	#校正后的 R2
    
    #关于约束轴的解释量,应当在 R2 校正后手动计算
    
    ##置换检验
    #所有约束轴的置换检验,以 999 次为例
    rda_tb_test <- anova(rda_tb, permutations = 999)
    #或者使用
    rda_tb_test <- anova.cca(rda_tb, step = 1000)
    
    #各约束轴逐一检验,以 999 次为例
    rda_tb_test_axis <- anova(rda_tb, by = 'axis', permutations = 999)
    #或者使用
    rda_tb_test_axis <- anova.cca(rda_tb, by = 'axis', step = 1000)
    
    #p 值校正(Bonferroni 为例)
    rda_tb_test_axis$`Pr(>F)` <- p.adjust(rda_tb_test_axis$`Pr(>F)`, method = 'bonferroni')
    
    ##断棍模型和 Kaiser-Guttman 准则确定残差轴
    #提取残差特征值
    pca_eig <- rda_tb$CA$eig
    
    #Kaiser-Guttman 准则
    pca_eig[pca_eig > mean(pca_eig)]
    
    #断棍模型
    n <- length(pca_eig)
    bsm <- data.frame(j=seq(1:n), p = 0)
    bsm$p[1] <- 1/n
    for (i in 2:n) bsm$p[i] <- bsm$p[i-1] + (1/(n + 1 - i))
    bsm$p <- 100*bsm$p/n
    bsm
    
    # 绘制每轴的特征根和方差百分比 
    par(mfrow = c(2, 1))
    barplot(pca_eig, main = '特征根', col = 'bisque', las = 2)
    abline(h = mean(pca_eig), col = 'red')
    legend('topright', '平均特征根', lwd = 1, col = 2, bty = 'n')
    barplot(t(cbind(100 * pca_eig/sum(pca_eig), bsm$p[n:1])), beside = TRUE, main = '% 变差', col = c('bisque', 2), las = 2)
    legend('topright', c('% 特征根', '断棍模型'), pch = 15, col = c('bisque', 2), bty = 'n')
    
    ##变量选择
    #计算方差膨胀因子
    vif.cca(rda_tb)
    
    #vegan 包 ordistep() 前向选择,基于 999 次置换检验
    rda_tb_forward_p <- ordistep(rda(phylum_hel~1, env, scale = FALSE), scope = formula(rda_tb), direction = 'forward', permutations = 999)
    
    #vegan 包 ordiR2step() 前向选择,基于 999 次置换检验
    rda_tb_forward_r <- ordiR2step(rda(phylum_hel~1, env, scale = FALSE), scope = formula(rda_tb), R2scope = rda_adj, direction = 'forward', permutations = 999)
    
    #以 rda_tb 和 rda_tb_forward_r 为例,简要绘制双序图比较变量选择前后结果
    par(mfrow = c(1, 2))
    plot(rda_tb, scaling = 1, main = '原始模型,I 型标尺', display = c('wa', 'cn'))
    plot(rda_tb_forward_r, scaling = 1, main = '前向选择后,I 型标尺', display = c('wa', 'cn'))
    
    #细节部分查看
    summary(rda_tb_forward_r, scaling = 1)
    
    #比较选择前后校正后 R2 的差异
    RsquareAdj(rda_tb)$adj.r.squared
    RsquareAdj(rda_tb_forward_r)$adj.r.squared
    
    #packfor 包 forward.sel() 前向选择
    library(packfor)
    forward.sel(phylum_hel, env, adjR2thresh = rda_adj)
    
    ##变差分解 varpart(),以前向选择后的简约模型 rda_tb_forward_r 为例(包含 6 个环境解释变量)
    #以两组环境变量为例,运行变差分解
    rda_tb_forward_vp <- varpart(phylum_hel, env['pH'], env[c('DOC', 'SOM', 'AP', 'AK', 'NH4')])
    rda_tb_forward_vp
    
    plot(rda_tb_forward_vp, digits = 2, Xnames = c('pH', 'CNPK'), bg = c('blue', 'red'))
    
    #查看前向选择中被剔除的环境变量“TC”,与这 6 个被保留的环境变量之间解释变差的“共享程度”
    rda_tb_forward_vp <- varpart(phylum_hel, env['TC'], env[c('pH', 'DOC', 'SOM', 'AP', 'AK', 'NH4')])
    plot(rda_tb_forward_vp, digits = 2, Xnames = c('TC', 'forward_env'), bg = c('blue', 'red'))
    
    #解释变差的置换检验,以 pH 所能解释的全部变差为例;999 次置换
    anova(rda(phylum_hel, env['pH']), permutations = 999)
    #若考虑 pH 单独解释的变差部分,需将其它变量作为协变量;999 次置换
    anova(rda(phylum_hel, env['pH'], env[c('DOC', 'SOM', 'AP', 'AK', 'NH4')]), permutations = 999)
    
    ##plot() 作图示例,以前向选择后的简约模型 rda_tb_forward_r 为例,展示前两轴,II 型标尺,双序图,默认使用物种加权和计算的样方坐标
    pdf('rda_test1.pdf', width = 5, height = 5)
    plot(rda_tb_forward_r, choices = c(1, 2), scaling = 2, type = 'n')
    text(rda_tb_forward_r, choices = c(1, 2), scaling = 2, dis = 'cn', col = 'blue', cex = 0.8)
    points(rda_tb_forward_r, choices = c(1, 2), scaling = 2, pch = 21, bg = c(rep('red', 9), rep('orange', 9), rep('green3', 9)), col = NA, cex = 1.2)
    dev.off()
    
    ##ggplot2 作图,以前向选择后的简约模型 rda_tb_forward_r 为例,展示前两轴,II 型标尺,双序图,默认使用物种加权和计算的样方坐标
    #提取样方和环境因子排序坐标,前两轴,II 型标尺
    rda_tb_forward_r.scaling2 <- summary(rda_tb_forward_r, scaling = 2)
    rda_tb_forward_r.site <- data.frame(rda_tb_forward_r.scaling2$sites)[1:2]
    rda_tb_forward_r.env <- data.frame(rda_tb_forward_r.scaling2$biplot)[1:2]
    
    #读取样本分组数据(附件“group.txt”)
    group <- read.delim('group.txt', sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
    
    #合并样本分组信息,构建 ggplot2 作图数据集
    rda_tb_forward_r.site$sample <- rownames(rda_tb_forward_r.site)
    rda_tb_forward_r.site <- merge(rda_tb_forward_r.site, group, by = 'sample')
    
    rda_tb_forward_r.env$sample <- NA
    rda_tb_forward_r.env$group <- rownames(rda_tb_forward_r.env)
    
    #ggplot2 作图
    library(ggplot2)
    
    p <- ggplot(rda_tb_forward_r.site, aes(RDA1, RDA2)) +
    geom_point(aes(color = group)) +
    scale_color_manual(values = c('red', 'orange', 'green3')) +
    theme(panel.grid = element_blank(), panel.background = element_rect(color = 'black', fill = 'transparent'), legend.title = element_blank(), legend.key = element_rect(fill = 'transparent')) + 
    labs(x = 'RDA1 (42.91%)', y = 'RDA2 (9.80%)') +
    geom_vline(xintercept = 0, color = 'gray', size = 0.5) + 
    geom_hline(yintercept = 0, color = 'gray', size = 0.5) +
    geom_segment(data = rda_tb_forward_r.env, aes(x = 0,y = 0, xend = RDA1,yend = RDA2), arrow = arrow(length = unit(0.1, 'cm')), size = 0.3, color = 'blue') +
    geom_text(data = rda_tb_forward_r.env, aes(RDA1 * 1.1, RDA2 * 1.1, label = group), color = 'blue', size = 3)
    
    ggsave('rda_test2.pdf', p, width = 5, height = 4)
    ggsave('rda_test2.png', p, width = 5, height = 4)
    

    evn说明:

    ENV    描述
    pH    土壤 pH 值
    TC    土壤总碳(Total Carbon)含量
    DOC    土壤溶解性有机碳(Dissolved Organic Carbon)含量
    SOM    土壤有机质(Soil Organic Matter)含量
    TN    土壤总氮(Total Nitrogen)含量
    NO3    土壤硝态氮(Nitrate Nitrogen)含量
    NH4    土壤氨态氮(Ammonia Nitrogen)含量
    AP    土壤速效磷(Available Phosphorous)含量
    AK    土壤速效钾(Available Potassium)含量
    数据获取地址:

    链接:https://pan.baidu.com/s/1Mt5Sr5mA7PQ7XYrHJHy2pw 
    提取码:qruo 
     

    展开全文
  • R、冗余分析(RDA)、ggplot2、置信椭圆

    万次阅读 多人点赞 2018-10-12 11:28:47
    R、冗余分析(RDA)、ggplot2  在生态环境领域中,冗余分析(RDA)是我们常用的分析方法,分析目的为“解释变量”对“响应变量”的影响情况。类似RDA的方法,还有CCA。这里以RDA为例→数据处理、分析过后,我们...

    R、冗余分析(RDA)、ggplot2、置信椭圆

     在生态环境领域中(实际中,其他专业也用到),冗余分析(RDA)是我们常用的分析方法,分析目的为“解释变量”对“响应变量”的影响情况。类似RDA的方法,还有CCA。这里以RDA为例→数据处理、分析过后,我们需要对结果进行可视化,R语言ggplt2程序包无疑是可视化神器,然而,怎样利用ggplot2对RDA结果进行可视化,需要我们对RDA结果进行了解,提取需要展示的元素。许多论文中在排序分析的图中添加了置信椭圆,ggplot2自带函数目前支持每个分组样本量≥4时画椭圆,这里我们使用gglayer包的geom_ord_ellipse函数给样方添加置信椭圆(支持样本量≥3)。

     library(vegan)
     library(plyr)
      library(gglayer)
     library(ggplot2)
     library(ggrepel)
    fc=read.csv("D:\\R\\factor.csv",header = T,row.names = 1)#读取解释变量数据
    sp=read.csv("D:\\R\\sp.csv",header = T,row.names = 1)#读取响应变量数据
    spp=decostand(sp,method = "hellinger")#对响应变量做转化
    fcc=log10(fc)#对解释变量做转化
    uu=rda(spp~.,fcc)#RDA分析
    ii=summary(uu)  #查看分析结果
    sp=as.data.frame(ii$species[,1:2])*2#可根据出图结果,对画图数据做一定的放大或缩小,下同
    st=as.data.frame(ii$sites[,1:2])
    yz=as.data.frame(ii$biplot[,1:2])
    grp=as.data.frame(c(rep("a",3),rep("b",3),rep("c",4),rep("d",6)))#根据样方类型分组,“a”有3个样本,“b”有3个样本……,共16个。注意样本的顺序和个数!
    colnames(grp)="group"
    ggplot() +
      geom_point(data = st,aes(RDA1,RDA2,shape=grp$group,fill=grp$group),size=4)+
      scale_shape_manual(values = c(21:25))+
      geom_ord_ellipse(aes(st$RDA1,st$RDA2,color=grp$group,group=grp$group),###注意,是在这里添加椭圆
                       ellipse_pro = 0.68,linetype=3,size=1)+###注意,是在这里添加椭圆
      geom_segment(data = sp,aes(x = 0, y = 0, xend = RDA1, yend = RDA2), 
                   arrow = arrow(angle=22.5,length = unit(0.35,"cm"),
                                 type = "closed"),linetype=1, size=0.6,colour = "red")+
      geom_text_repel(data = sp,aes(RDA1,RDA2,label=row.names(sp)))+
      geom_segment(data = yz,aes(x = 0, y = 0, xend = RDA1, yend = RDA2), 
                   arrow = arrow(angle=22.5,length = unit(0.35,"cm"),
                                 type = "closed"),linetype=1, size=0.6,colour = "blue")+
      geom_text_repel(data = yz,aes(RDA1,RDA2,label=row.names(yz)))+
      labs(x=paste("RDA 1 (", format(100 *ii$cont[[1]][2,1], digits=4), "%)", sep=""),
           y=paste("RDA 2 (", format(100 *ii$cont[[1]][2,2], digits=4), "%)", sep=""))+
      geom_hline(yintercept=0,linetype=3,size=1) + 
      geom_vline(xintercept=0,linetype=3,size=1)+
      guides(shape=guide_legend(title=NULL),color=guide_legend(title=NULL),
             fill=guide_legend(title=NULL))+
      theme_bw()+theme(panel.grid=element_blank())

    在这里插入图片描述

      RDA探索完毕,上面的图比较骚气,但,不能用,因为需要检验模型是否显著、解释变量是否存在共线性,在论文写作中应删掉某些图层,使图更加美观、更简洁。这里只是简单的举个例,在进行约束排序分析之前,我们先要检查数据,是符合RDA还是CCA,网上有很多例子,这里不再赘述。当RDA或者CCA不能很好的解决我们的问题时,我们需要结合其它分析方法,如gbm、RF能求出相对重要性等,也可利用SEM去探索。原则上,不同的数据需要用不同的方法探索,选择一种最理想的结果。
     刚接触R的朋友,可能会因为R的“难”入门而选择较容易的CANOCO软件,当然后者也是生态环境领域的数据分析神器,但是,当我们想要个性化分析、个性化出图时,目前后者无法满足,R,应是首选。实验设计、实验过程、数据处理及分析、绘图、写作等是科研的必然过程,为促进相互进步、资源共享,我们创建了学术交流QQ群:335774366。欢迎有兴趣的朋友加入→指导。
    声明:以上内容仅为作者个人理解,有不对的地方,欢迎指正。

    展开全文
  • asp.net生成的viewstate垃圾信息超过了20K,如果页面前二K不是内容会被引擎处罚,所以我们需要清理下asp.net生成静态后冗余代码
  • 为解决冗余代码缺陷检测复杂度较高且检测精度较低的...通过分析Linux开源代码表明,本模型可以快速的检测大规模程序,并且具有较低的误报率和漏报率.因此本模型可以帮助程序员发现进而修正软件缺陷,维护软件可靠性.
  • 冗余分析(redundancy analysis, RDA)自己之前也听过,好像是生态学研究中用的比较多,主要是用来探索环境和一些样本指标之间的关系。最近自己在看一些群体遗传相关的内容,发现RDA也可以用在群体遗传方面,比如这个...

    冗余分析(redundancy analysis, RDA)自己之前也听过,好像是生态学研究中用的比较多,主要是用来探索环境和一些样本指标之间的关系。最近自己在看一些群体遗传相关的内容,发现RDA也可以用在群体遗传方面

    ,比如这个参考链接 https://popgen.nescent.org/2018-03-27_RDA_GEA.html 就介绍了这个分析,主要研究内容自己还没有看明白:大体好像是利用芯片技术测了一些狼的基因型,同时采集了狼生活地点的环境数据,利用RDA同时分析基因型数据和环境数据。这个看的还有些模棱两可,还需要仔细看看。这个链接对应的两篇论文

    找资料的时候还找到了另外一篇论文

    3975b289b280

    image.png

    3975b289b280

    image.png

    3975b289b280

    image.png

    今天的推文重复一下这个论文里的冗余分析的代码

    首先是读入数据

    sim1.csv这个数据集1:14列是环境数据,后面都是基因型数据

    geno

    env

    geno[1:6,1:6]

    head(env)

    对基因型数据进行过滤

    这里又涉及到了最小等位基因频率这个概念

    MAF

    frequencies

    maf MAF & frequencies < (1-MAF))

    geno

    接下来就是RDA分析了

    library(vegan)

    RDA

    library(ggplot2)

    p1

    geom_line(aes(x=c(1:length(RDA$CCA$eig)), y=as.vector(RDA$CCA$eig)), linetype="dotted", size = 1.5, color="darkgrey") +

    geom_point(aes(x=c(1:length(RDA$CCA$eig)), y=as.vector(RDA$CCA$eig)), size = 3, color="darkgrey") +

    scale_x_discrete(name = "Ordination axes", limits=c(1:9)) +

    ylab("Inertia") +

    theme_bw()

    #library(robustbase)

    #install.packages("robust")

    # library("robust")

    # library(qvalue)

    rdadapt

    {

    loadings

    resscale

    resmaha

    lambda

    reschi2test

    qval

    q.values_rdadapt

    return(data.frame(p.values=reschi2test, q.values=q.values_rdadapt))

    }

    res_rdadapt

    p2

    geom_point(aes(x=c(1:length(res_rdadapt[,1])), y=-log10(res_rdadapt[,1])), col = "gray83") +

    geom_point(aes(x=c(1:length(res_rdadapt[,1]))[which(res_rdadapt[,2] < 0.1)], y=-log10(res_rdadapt[which(res_rdadapt[,2] < 0.1),1])), col = "orange") +

    xlab("SNPs") + ylab("-log10(p.values)") +

    theme_bw()

    which(res_rdadapt[,2] < 0.1)

    p3

    geom_point(aes(x=RDA$CCA$v[,1], y=RDA$CCA$v[,2]), col = "gray86") +

    geom_point(aes(x=RDA$CCA$v[which(res_rdadapt[,2] < 0.1),1], y=RDA$CCA$v[which(res_rdadapt[,2] < 0.1),2]), col = "orange") +

    geom_segment(aes(xend=RDA$CCA$biplot[,1]/10, yend=RDA$CCA$biplot[,2]/10, x=0, y=0), colour="black", size=0.5, linetype=1, arrow=arrow(length = unit(0.02, "npc"))) +

    geom_text(aes(x=1.2*RDA$CCA$biplot[,1]/10, y=1.2*RDA$CCA$biplot[,2]/10, label = colnames(env[,2:11]))) +

    xlab("RDA 1") + ylab("RDA 2") +

    theme_bw() +

    theme(legend.position="none")

    library(patchwork)

    p1/(p2+p3)

    3975b289b280

    image.png

    代码能够跑完,但是具体是什么意思还不太明白,仔细看看这些论文

    欢迎大家关注我的公众号

    小明的数据分析笔记本

    展开全文
  • 如何解决重复冗余代码

    千次阅读 2020-05-18 00:12:41
    如何解决重复冗余代码1.利用工厂模式+模板方法模式消除if...else和重复代码2.利用注解+反射消除重复代码3.利用属性拷贝工具消除重复代码 1.利用工厂模式+模板方法模式消除if…else和重复代码 我们可以把重复的逻辑...
  • % 对权重较大的一组基因进行两两冗余分析。将相关性弱的和强相关中权重大的基因保留,即为特征基因。% 已知基因表达谱数据、不同类样本的个数,自行设定分类特征的权重阈值。% 对原始数据标准化的方法:(x-基因...
  • l代码覆盖分析代码覆盖分析过程包含以下几个方面:◇通过一组覆盖测试数据发现和分析那些没有被运行到的代码;◇为了提高代码覆盖率而设计新的测试用例;◇确定代码覆盖的定量标准,这XXX数据也间接地反映测试质量;...
  • 在项目中写一些冗余代码

    千次阅读 2017-12-17 22:32:55
    #引子最近,扇贝单词书...(外加深刻地自发地过失检讨)借助Xcode的断点调试功能,我开始了问题的回溯与分析。#过程看着这个崩溃在主函数的异常,我们都会感到很“亲切”!第一步当然是打开全局的异常断点,观察一下是
  • 冗余分析(RDA)排序分析应用的例子 冗余分析(The Redundant analysis,RDA),属于一种约束排序分析。与PCA、PCoA、CA及NMDS等非约束排序方法不同的是:RDA分析涉及到两个矩阵间的降维排序分析,受RDA排序算法...
  • 由c语言实现的最大相关最下冗余的特征选择算法源码部分。
  • #资源达人分享计划#
  • 目前正在做XX系统的冗余代码清理,系统瘦身,过程中整理的一些方法见下:其中几个关键的步骤:先用TCC对线上的xx应用的war包代码进行插装,然后部署插装后的代码到线上;运行一段时间(1-2周),采集到线上应用的...
  • 为有效检测利用此方法嵌入的秘密信息, 根据视频的时空冗余特性, 提出了一种实时的视频隐写分析方法。用大小为L 1的滑行窗口获取视频帧估计值, 并提取相应的DCT和马尔可夫特征, 使用神经网络、支持向量机等多种分类...
  • 该存储库包含为EMPIR 17IND12项目编写的代码,重点放在任务2.3上,该任务涉及对冗余测量数据的分析。 网站 可以在上找到专用于Met4FoF-redundancy软件包的网站(存根)。 文献资料 主要文档可在找到。 自动生成的...
  • 超预期分割matlab代码用于超分辨率定位显微镜的冗余互相关漂移校正 此源代码作为B. Huang等人在Optics Express中的文章“”的随附代码进行分发。 代码中的功能独立于任何其他Matlab工具箱。 脚本“ RCC.m”是冗余互...
  • 一般来说,可以通过对系统质量、可维护性、可靠性、可用性及安全性等指标做出评测,来衡量系统在环境中的性能。功能安全是系统相对于可能出现的操作错误、硬件故障及环境变化的整体安全性。这取决于系统或设备能否...
  • 1 代码覆盖分析 代码覆盖分析过程包含以下几个方面: ◇通过一组覆盖测试数据发现和分析那些没有被运行到的代码; ◇为了提高代码覆盖率而设计新的测试用例; ◇确定代码覆盖的定量标准,这些数据也间接地反映...
  • 冗余是什么意思_冗余解释和意思

    千次阅读 2021-05-23 07:37:39
    描述大家知道冗余是什么意思吗?对于这些不常出现的词汇,你是否知道它们的意思?下面就和小编一块来了解一下冗余是什么意思吧。冗余,拼音:rǒng yú,英文:[redundancy redundance]。在汉语语病中,冗余的通俗...
  • 为了解决现有JPEG隐写分析方法特征冗余度高和未能充分利用特征间互补关系的问题,提出了一种基于主成分分析(principal component analysis,简称PCA)进行特征融合的JPEG隐写分析方法,并分析所选特征之间的互补性....
  • 本论文从EVENODD编码原理出发,详细介绍了EVENODD的编码和译码过程,以及从理论上对该译码的算法进行了分析证明,同时使用java编译技术实现了该编码过程的仿真。在本论文中还对该仿真软件的设计思路、开发过程、以及...
  • 欢迎转载~ 工具Github链接地址 ... 工具功能 ...第一张图表格是预制体的使用资源情况,第二张图是分析预制体的依赖资源具体内容,主要是图片MD5作为key值存于字典中,字典的值为{图集Tag,SpriteAtla...
  • mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。  重复索引是指的在相同的列上按照相同的顺序创建的相同...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,048
精华内容 48,419
关键字:

冗余分析代码