首页 > 其他分享 >R:alpha多样性线性回归

R:alpha多样性线性回归

时间:2024-11-28 16:12:21浏览次数:6  
标签:library 多样性 table 线性 alpha csv final

rm(list = ls())
library(dplyr)
library(broom)
library(ggplot2)

# 设置工作目录
setwd("C:\\Users\\Administrator\\Desktop\\machine learning\\Multiple Linear Regression")

# 读取多样性数据
diversity_data <- read.table("alpha_diversity.txt", header = TRUE, sep = "\t")

# 读取分组数据
group_data <- read.table("group.txt", header = TRUE, sep = "\t")

# 合并两个数据集
merged_data <- merge(diversity_data, group_data, by.x = "SampleID", by.y = "SampleID")

# 确保因变量为数值型,自变量为因子型
merged_data$Gene <- as.factor(merged_data$Gene)

# 生成所有模型(包含交互项)
diversity_metrics <- c("Shannon", "Simpson", "Pielou")
results <- lapply(diversity_metrics, function(metric) {
  # 构建回归模型公式,包含基因型和时间的交互项
  formula <- as.formula(paste(metric, "~ Gene"))
  
  # 拟合线性模型
  model <- lm(formula, data = merged_data)
  
  # 结果整理并加上指标名称
  tidy(model) %>%
    mutate(Metric = metric)  # 添加指标名称
})

# 合并所有结果
final_table <- bind_rows(results)

# 筛选需要的列并重命名
final_table <- final_table %>%
  select(Metric, term, estimate, std.error, p.value) %>%
  rename(Variable = term, β = estimate, SE = std.error, p = p.value)

# 输出结果表格
print(final_table)

# 将结果保存为CSV文件
write.csv(final_table, "alpha_regression_results.csv", row.names = TRUE)
#########################################################
# 定义一个函数来提取模型评估参数
extract_metrics <- function(model, metric_name) {
  model_summary <- summary(model)
  data.frame(
    Metric = metric_name,
    Residual_SE = model_summary$sigma,
    R_squared = model_summary$r.squared,
    Adjusted_R_squared = model_summary$adj.r.squared,
    F_statistic = model_summary$fstatistic[1],
    F_p_value = pf(model_summary$fstatistic[1], model_summary$fstatistic[2], model_summary$fstatistic[3], lower.tail = FALSE)
  )
}

# 对多个模型应用
metrics_list <- lapply(diversity_metrics, function(metric) {
  formula <- as.formula(paste(metric, "~ Gene"))
  model <- lm(formula, data = merged_data)
  extract_metrics(model, metric)
})

# 合并结果到一个表格
metrics_table <- do.call(rbind, metrics_list)

# 查看结果
print(metrics_table)

write.csv(metrics_table, "alpha_metrics_table.csv", row.names = FALSE)

 

标签:library,多样性,table,线性,alpha,csv,final
From: https://www.cnblogs.com/wzbzk/p/18574457

相关文章

  • Lumiere Alpha: 以增强的逼真度革新图像生成技术
    欢迎来到LumiereAlpha的世界,它是一种创新的人工智能模型,正在图像生成领域掀起一场风暴!在本博客中,我们将探讨这一尖端技术的特点、优势和实际应用。LumiereAlpha简介LumiereAlpha是一个开创性的图像生成人工智能模型,由人工智能社区的天才用户Theally开发。它是著......
  • 基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的
    微分方程作为一种数学工具在物理学、金融学等诸多领域的动态系统建模中发挥着关键作用。对这类方程数值解的研究一直是学术界关注的重点。数值方法是一类用于求解难以或无法获得解析解的数学问题的算法集合。这类方法主要处理描述函数在时间或空间维度上演化的微分方程,采用逐步计......
  • AlphaProof IMO 2024 P1 in LEAN 之 repeat 与 nlinarith 策略(Tactic)
        书接上文,此时,AlphaProof关注的目的如下:    接着,AlphaProof使用了simp_all与have策略,如下:    此前已对上述两策略进行讲解,这里就不再赘述了。    在第二个simp_all策略完成后,目的被改写为:    此时,AlphaProof使用c......
  • AlphaProof IMO 2024 P1 in LEAN 之 cases 策略(Tactic)
         书接上文,AlphaProof通过suffices和have策略,产生其需要的假设后,使用了一系列的norm_num与rw策略,进行简化,如下:    使得目的被改写为:    此后,再通过连续使用两次zify策略,如下    其中,at*,意思是,作用于当前目的的所有假设......
  • AlphaProof IMO 2024 P1 in LEAN 之 induction 策略(Tactic)
        在AlphaProof使用intro策略后,此时的目的(Goal)为:    这时,AlphaProof使用induction策略,对 n:ℕ进行,归纳证明:    induction策略,在假设中,增加了,在归纳证明中使用的,前值假设,即:    改写后的目的(Goal)的高亮部分,a:∀m<n,......
  • 测试与发布(Alpha版本)
    Alpha版本测试报告1.测试过程使用的测试函数2.测试结果2.1Bug项目中发现的BugBug类型Bug数量已修复的Bug5不能重现的Bug1产品设计1无法修复的Bug1下一版本修复的Bug1已修复Bug:部分文字显示出错部分选项无法选中商品分页功能不完善,出现负......
  • 数值分析:线性方程组的直接解法(上)
    提纲背景介绍三角方程组Gauss消去法附录一、背景介绍1.1线性方程组的相关概念线性方程组在解决现实师姐问题中直接产生,最小二乘数据拟合、微分方程边值问题和初边值问题的数值解产生了大量的线性方程组。线性方程组系数矩阵的类型分别有稠密型(dense):几乎所有元素都......
  • 线性时间选择[C++,附代码]
    0引言问题:从无序数组中选择第k小的元素。1随机选择法1.1算法步骤:选择基准元素:随机选择一个元素作为基准。分区:对数组进行分区,使得基准元素左边的所有元素都小于它,右边的所有元素都大于它。分区过程完成后,我们得到了基准元素在数组中的位置pivotIndex。递归选择:如......
  • 异或最长路(线性基应用)
    首先异或最长路不能用Bellman-Ford,因为异或不满足加法传递性,局部最优可能推不出整体最优,而且可能出现类似“负环”的情况,走不出来。一般要用线性基解决这一类问题。我们可以把路径拆成一条链(蓝色)和若干个环(灰色)。我们可以走一条红色的路径到达一个环,转一圈然后原路返回,这样红色......
  • 线性空间
    矩阵论学习线性空间是什么?假设V是一个非空集合,P是一个数域。对于任意x、y、z∈V,如果V满足以下条件:在V中定义一个封闭的加法运算:x+y=y+x(x+y)+z=x+(y+z)存在0元素,+0=x存在负元素,x+(-x)=0也就是交换律和结合律,有加法单位元在V中定义一个封闭的数乘运算,即......