美文网首页
R: 中心对数比CLR标准化数据

R: 中心对数比CLR标准化数据

作者: 胡童远 | 来源:发表于2022-03-11 14:22 被阅读0次

    比例数据进行中心对数比(Centered Log-ratio, CLR)转化,更接近正态分布。经过clr转换后的数据会出现很多负数,相加等于0(接近0),原先表格里已经有的0可预先转化为一个非常小的数值,如,1E-10。

    CLR转化方法

    1 安装依赖

    install.packages("chemometrics")
    install.packages("compositions")
    

    2 测试数据

    set.seed(1995)  
    data=matrix(abs(round(rnorm(200, mean=1000, sd=500))), 20, 10)  
    colnames(data)=paste("Species", 1:10, sep=".")  
    rownames(data)=paste("Sample", 1:20, sep=".")  
    # 归一化
    data_norm=data
    for(i in 1:20){
        sample_sum=apply(data, 1, sum)
        for(j in 1:10){
            data_norm[i,j]=data[i,j]/sample_sum[i]
        }
    }
    
    library("reshape2")
    melt_norm = melt(data_norm)
    hist(melt_norm$value)
    

    3 compositions::clr转化

    data_clr = compositions::clr(data_norm)
    
    melt_clr = melt(data_clr)
    hist(melt_clr$value)
    

    4 chemometrics::clr转化

    data_clr_2 = chemometrics::clr(data_norm)
    
    melt_clr_2 = melt(data_clr_2)
    hist(melt_clr_2$value)
    

    更多
    微生物研究文献解读系列·1:“一切都是相对的?”——CLR变换
    微生物组数据的centered log-ratio transformation
    Gut metagenome associations with extensive digital health data in a volunteer-based Estonian microbiome cohort. NC 2022

    相关文章

      网友评论

          本文标题:R: 中心对数比CLR标准化数据

          本文链接:https://www.haomeiwen.com/subject/yzsarrtx.html