当前位置: 首页 > news >正文

江门市做网站网站建设 的销售图片

江门市做网站,网站建设 的销售图片,建筑建设行业网站,天津网站建设工作室多个变量批量进行单因素方差 R实现 文章目录 一、批量生成均值标准差 P值二、添加协变量单因素方差分析#xff0c;生成校正P值三、在分层情况下进行单因素方差分析四、添加协变量和交互项的单因素方差分析#xff0c;生成交互项的P值 一、批量生成均值标准差 P值 数据结构如… 多个变量批量进行单因素方差 R实现 文章目录 一、批量生成均值±标准差 P值二、添加协变量单因素方差分析生成校正P值三、在分层情况下进行单因素方差分析四、添加协变量和交互项的单因素方差分析生成交互项的P值 一、批量生成均值±标准差 P值 数据结构如下1-54列变量为欲分析的连续变量tert为分组变量此外还包括如age,BMI等可能用到的协变量。 数据已经过处理无缺失值 步骤如下 .使用 lapply 函数对数据框 df2 的前 54 列进行循环处理。每次迭代都执行一次方差分析其中自变量为 x因变量为 df2$tert并将结果存储在 results 列表中。使用 sapply 函数对 results 列表中的每个方差分析结果进行循环处理提取出每个分析结果的 p 值并将这些 p 值存储在 p_values 向量中。使用 aggregate 函数对 df2 的前 54 列进行聚合操作按照 tert 列的值分组并计算每个组的均值将结果存储在 means 数据框中。同样计算每个组的标准差将结果存储在 sds 数据框中。results_df - data.frame(var colnames(df2[,1:54]), low_mean_sd NA, medium_mean_sd NA, high_mean_sd NA, p_value round(p_values, 3))创建一个新的数据框 results_df其中包含了变量名、低、中、高三个分组的均值和标准差以及方差分析的 p 值。初始时这些列都被设置为 NA而 p_values 向量经过取小数点后三位后被赋值给 p_value 列。results_df l o w m e a n s d − p a s t e 0 ( r o u n d ( m e a n s [ m e a n s low_mean_sd - paste0(round(means[means lowm​eans​d−paste0(round(means[meansGroup.1 “low”, -1], 2), ± , round(sds[sds G r o u p . 1 l o w , − 1 ] , 2 ) ) 使用 p a s t e 0 函数将低分组的均值和标准差合并为一个字符串并赋值给 r e s u l t s d f 的 l o w m e a n s d 列。 r o u n d 函数用于将均值和标准差保留两位小数。类似地 r e s u l t s d f Group.1 low, -1], 2))使用 paste0 函数将低分组的均值和标准差合并为一个字符串并赋值给 results_df 的 low_mean_sd 列。round 函数用于将均值和标准差保留两位小数。类似地results_df Group.1low,−1],2))使用paste0函数将低分组的均值和标准差合并为一个字符串并赋值给resultsd​f的lowm​eans​d列。round函数用于将均值和标准差保留两位小数。类似地resultsd​fmedium_mean_sd 和 results_df$high_mean_sd 列也被赋值为中分组和高分组的均值与标准差的合并字符串。 # 进行方差分析 results - lapply(df2[,1:54], function(x) {aov(x ~ df2$tert) })# 提取 P 值 p_values - sapply(results, function(x) {summary(x)[[1]][[Pr(F)]][1] })# 计算均值和标准差 means - aggregate(df2[,1:54],, bylist(df2$tert), FUNmean) sds - aggregate(df2[,1:54],, bylist(df2$tert), FUNsd)# 创建一个新的数据框来存储结果 results_df - data.frame(var colnames(df2[,1:54]), low_mean_sd NA, medium_mean_sd NA, high_mean_sd NA, p_value round(p_values, 3))# 计算均值±标准差 results_df$low_mean_sd - paste0(round(means[means$Group.1 low, -1], 2), ± , round(sds[sds$Group.1 low, -1], 2)) results_df$medium_mean_sd - paste0(round(means[means$Group.1 medium, -1], 2), ± , round(sds[sds$Group.1 medium, -1], 2)) results_df$high_mean_sd - paste0(round(means[means$Group.1 high, -1], 2), ± , round(sds[sds$Group.1 high, -1], 2))# 查看结果 head(results_df) 二、添加协变量单因素方差分析生成校正P值 代码如下 ##########################ancova adjust covariate # 进行方差分析 results - lapply(df2[,1:54], function(x) {aov(x ~ df2$tert df2$BMIdf2$Agedf2$nracedf2$PALdf2$calordf2$allergydf2$Asthmadf2$CRP) })# 提取 P 值 p_values - sapply(results, function(x) {summary(x)[[1]][[Pr(F)]][1] }) resultssummary - cbind(results_df,round(p_values, 3)) colnames(resultssummary)[5:6] - c(p_values, adjust_p_values) write.csv(resultssummary, file resultssummary.csv, row.names FALSE)三、在分层情况下进行单因素方差分析 如果在另一分层因素aoc1(L\M\H)情况下进行单因素方差分析 #整理数据 long_df - df2 %%pivot_longer(cols starts_with(prot_), names_to protein, values_to value) result - long_df %%group_by(aoc1, tert, protein) %%summarize(mean mean(value), sd sd(value)) %%mutate(mean_sd paste0(round(mean, 2), ±, round(sd, 2))) %%select(-mean, -sd) %%pivot_wider(names_from c(aoc1, tert), values_from mean_sd)anova_results - long_df %% group_by(protein,aoc1) %% do(tidy(aov(value ~ tert,data.))) %% filter(term tert) %% select(protein,aoc1,p.value) %% spread(keyaoc1,valuep.value)%%mutate(across(where(is.numeric), round, digits 3))final_result - left_join(result,anova_results)步骤如下 .对 long_df 数据框进行分组操作按照 “aoc1”、“tert” 和 “protein” 进行分组然后计算每个组别的均值和标准差并将均值和标准差合并为一个字符串并将结果保存在 “mean_sd” 列中。接着移除 “mean” 和 “sd” 列然后使用 pivot_wider 函数将数据重新转换将 “aoc1” 和 “tert” 的组合作为列名“mean_sd” 列的值作为对应的值。 对 long_df 数据框进行分组操作按照 “protein” 和 “aoc1” 进行分组然后使用 tidy(aov(value ~ tert,data.)) 函数计算方差分析并将结果转换为长格式。接着筛选出 “term” 列为 “tert” 的行并选择 “protein”、“aoc1” 和 “p.value” 列。使用 spread 函数将 “aoc1” 的值作为列名“p.value” 的值作为对应的值进行展开。最后使用 mutate 函数将所有数值型列的值保留三位小数。 3.使用 left_join 函数将 result 数据框和 anova_results 数据框进行左连接将它们基于共同的列进行合并并将结果保存在 final_result 中。 四、添加协变量和交互项的单因素方差分析生成交互项的P值 计算交互项的 P 值是通过使用 anova 函数计算模型之间的 F 检验来实现的。 在R代码中anova 函数被用于比较两个线性回归模型的拟合优度并返回模型之间的方差分析表。通过提取方差分析表中的 P 值可以得到模型之间的 F 检验的 P 值。 具体来说对于每对模型一个包含交互项一个不包含交互项anova 函数返回一个方差分析表其中包含了模型之间的 F 统计量和对应的 P 值。通过计算并获得交互项的 P 值可以评估交互项对于模型的统计显著性。 ######################interaction gene*tert #创建交互项 df2$aoc1_tert - interaction(df2$aoc1, df2$tert) #从 df2 数据框中选择前54列作为蛋白数据并将结果保存在 proteins 变量中 proteins - df2[, 1:54] f_test - function(model1, model2) {anova(model1, model2)$Pr(F)[2] }# 对每个蛋白分别建立有交互项和无交互项的模型并用f_test函数比较它们pvalues - lapply(proteins, function(x) {model1 - lm(x ~ aoc1_tert BMIAgenracePALcalorallergyAsthmaCRP, data df2)model2 - lm(x ~ aoc1 tert BMIAgenracePALcalorallergyAsthmaCRP, data df2)f_test(model1, model2)})# 将pvalues转换为一个向量并给它命名为proteins pvalues - unlist(pvalues) names(pvalues) - colnames(proteins)# 创建一个数据框包含蛋白名称、交互项名称、交互项P值 output - data.frame(protein names(pvalues), interaction aoc1_tert, pvalue pvalues)%%mutate(across(where(is.numeric), round, digits 3))上述代码思路如下 .首先对于每个蛋白数据使用 lm 函数建立两个线性回归模型 模型 1x ~ aoc1_tert BMI Age nrace PAL calor allergy Asthma CRP 模型 2x ~ aoc1 tert BMI Age nrace PAL calor allergy Asthma CRP。 其中 x 是当前蛋白数据aoc1_tert 是交互项aoc1 和 tert 是原始变量其余是控制变量。 定义一个函数 f_test该函数接受两个模型作为输入并使用 anova 函数计算模型之间的 F 检验值。然后提取出 F 检验的 P 值。使用 lapply 函数迭代处理每个蛋白数据并对每个蛋白数据执行以下操作在模型 1 和模型 2 上调用 f_test 函数得到交互项的 P 值将 P 值保存在一个列表中。通过 unlist 函数将列表转换为向量并使用 names 函数将向量中的元素命名为对应的蛋白名称。
http://www.zqtcl.cn/news/635449/

相关文章:

  • 网站建设公司利润分配一些常用的网站
  • 鄂尔多斯做网站的公司北京企业网站设计报价
  • 南宁关键词网站排名wordpress付免签插件
  • 龙岩网站定制电子政务与网站建设方面
  • 东莞网站制作十强英语培训机构网站建设策划书
  • 住房和城乡建设部网站加装电梯苏州外发加工网
  • 企业网站管理系统带授权广州seo报价
  • 建设门户网站的意义旅游电商网站建设方案模板
  • 网站做动态图片不显示某购物网站开发项目
  • 大淘客网站logo怎么做紫鸟超级浏览器手机版
  • 专做公司网站 大庆wordpress编辑器百度云
  • 企业手机网站模板下载网站建设实训 考核要求
  • 企业网站建设的ppt4414站长平台
  • 物流网站制作怎么做pc网站开发
  • 合肥做网站可以吗网站程序 seo
  • 网站备案 动态ip网站多域名
  • 网站加速免费电子商务网站建设的认识
  • 做职业资格考试的网站有哪些网页游戏排行榜2024前十名
  • 网站设计方案怎么写wordpress仿站软件
  • 汕头建站模板系统北京有哪些电商平台公司
  • 深圳网站建设zhaoseo小包工头接活的平台
  • 电商平面设计前景如何seo推广什么意思
  • 网站解析不了wordpress 密码失败
  • 临沂企业建站系统模板扮家家室内设计
  • 做简单网站用什么软件网站开发国外研究现状
  • 江苏seo推广网站建设湖南软件定制开发
  • 台州商务网站手机端seo
  • 网站的切换语言都是怎么做的有哪些开发网站公司
  • 上海人才中心网站湖州建设公司网站
  • 网站的前台后台网站建设公司新报