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

山东营销网站建设联系方式网页设计实训步骤

山东营销网站建设联系方式,网页设计实训步骤,网络服务的重要性?,群晖nda做网站文章目录 何为判断语句在for循环中添加判断语句嵌套循环 在上一节中#xff0c;我们介绍了迭代与for循环#xff0c;并对for循环的结构与原理进行了深入的介绍。在这一节中#xff0c;我们将分享for循环的常规应用#xff0c;包括在其中加入判断语句与嵌套循环。 何为判断语… 文章目录 何为判断语句在for循环中添加判断语句嵌套循环 在上一节中我们介绍了迭代与for循环并对for循环的结构与原理进行了深入的介绍。在这一节中我们将分享for循环的常规应用包括在其中加入判断语句与嵌套循环。 何为判断语句 判断语句可以指定一个或多个要测试的条件基于条件为真和条件为假的情况执行不同的运算处理。在R语言中你可以使用if, else if和else来定义判断结构。以下是如何定义这些结构的详细说明 「if结构」:用于测试一个条件。如果该条件为真TRUE则执行相关的代码块。 if(条件){# 如果条件为真则执行此代码,若不满足则不执行 }「if-else结构」:在if的基础上添加了一个else部分。如果if中的条件为假FALSE则执行else中的代码。 if(条件){# 如果条件为真则执行此代码 } else {# 如果条件为假则执行此代码 }「if-else if-else结构」:可以用来测试多个条件。它会按顺序检查每一个else if直到找到一个为真的条件或者所有条件都被检查过。因此你可根据需要串联任意数量的else if语句。 if(条件1){# 条件1为真时执行的代码 } else if (条件2) {# 条件1为假但条件2为真时执行的代码 } else {# 条件1和条件2都为假时执行的代码 }根据数据分析的需求你可以只使用if或者与else、else if组合使用。例如 x- 10 if(x 10){print(x大于10) } else if(x 10){print(x等于10) } else{print(x小于10) }这段代码会输出“x等于10”。 在for循环中添加判断语句 在上一节中我们介绍了for循环中的循环体它是对数据执行具体操作的代码基于不同的i值会重复运行。但我们并不总是可以在循环中进行相同的运算有时候需要通过判断语句对数据加以判断执行对应的更加合适的运算。 假设如下场景我对三种不同的生物Sample1、Sample2、Sample3进行了处理实验并分别收集了对照组CK与处理组Treatment的数据随后在不同的物种中对处理组与对照组进行差异分析。 在分析前我们需要判断数据是否符合正态分布如果符合那我们使用T-test反之则使用Wilcox-test。 「模拟数据」 set.seed(123) CK - data.frame(Sample1 rnorm(30, mean 50, sd 10),Sample2 rnorm(30, mean 50, sd 10),Sample3 runif(30, min 40, max 60)) Treatment - data.frame(Sample1 rnorm(30, mean 55, sd 10),Sample2 rnorm(30, mean 50, sd 10),Sample3 runif(30, min 45, max 55))head(CK)Sample1 Sample2 Sample3 1 44.39524 54.26464 52.95787 2 47.69823 47.04929 46.39641 3 65.58708 58.95126 46.15440 4 50.70508 58.78133 44.39535 5 51.29288 58.21581 47.38978 6 67.15065 56.88640 59.68438head(Treatment)Sample1 Sample2 Sample3 1 65.25571 49.54972 53.71043 2 52.15227 42.15096 45.06301 3 42.79282 33.32058 45.72057 4 56.81303 46.19773 46.64211 5 53.61109 59.18997 52.70334 6 55.05764 44.24653 52.35184「输出output」我们想要收集每次差异分析的结果包括进行分析的物种、使用的方法、统计量与P值。 results- setNames(data.frame(matrix(ncol 4, nrow 0)),#生成一个0行*4列的空数据框c(Sample, Method, Statistics, P-value))#对数据框的列进行命名 results [1] Sample Method Statistics P-value 0 行 (或0-长度的row.names)「for循环」在循环中加入判断语句按数据是否符合正态分布执行不同的分析。具体循环如下 for (i in 1:3) {#序列有3种生物# Shapiro-Wilk正态性检验shapiro1 - shapiro.test(CK[[i]])shapiro2 - shapiro.test(Treatment[[i]])# 如果两组数据都符合正态分布使用t检验if (shapiro1$p.value 0.05 shapiro2$p.value 0.05) {test_result- t.test(CK[,i], Treatment[,i])result- data.frame(Sample colnames(CK)[i],#此次分析的物种名Method T-test,#分析方法Statistics test_result$statistic,#统计量P-value test_result$p.value)#P值} # 否则使用Wilcoxon秩和检验else {test_result - wilcox.test(CK[,i], Treatment[,i])result- data.frame(Sample colnames(CK)[i],Method Wilcox-test,Statistics test_result$statistic,P-value test_result$p.value)}results- rbind(results, result)#使用rbind函数对每次重复的结果进行打包 } print(results)Sample Method Statistics P.value t Sample1 T-test -3.071780 0.003278294 t1 Sample2 T-test 1.855653 0.068590660 W Sample3 Wilcox-test 454.000000 0.959042956嵌套循环 在R语言中嵌套循环就是在一个循环内部放置另一个循环。这通常用于遍历矩阵、列表或其他复合数据结构的多个维度。 以下是嵌套for循环的基本结构 for(i in seq1){for(j in seq2){# 执行操作} }其中seq1和seq2是你希望循环遍历的序列他是分层进行重复的。具体而言就是先对seq1[1]中的所有seq2进行遍历然后再跳转到seq1[2]对seq2进行遍历直到将全部的seq1遍历完成。实际上可以按数据维度数量构建多层嵌套但嵌套for循环运算效率很低这个我们以后再谈。 还是上面的例子这次我们对数据多加一个维度即对物种按性别进行分类。对相同物种、性别中的处理组与对照组进行差异分析。因此在分析时我们需要对数据按物种与性别划分成不同的子集随后使用嵌套结构的for循环对每个子集进行分析。 「模拟数据并构建输出」 CK - data.frame(Sample1 rnorm(30, mean 50, sd 10),Sample2 rnorm(30, mean 50, sd 10),Sample3 runif(30, min 40, max 60),Sex rep(c(Male, Female), 15)) Treatment - data.frame(Sample1 rnorm(30, mean 55, sd 10),Sample2 rnorm(30, mean 50, sd 10),Sample3 runif(30, min 45, max 55),Sex rep(c(Male, Female), 15))head(CK)Sample1 Sample2 Sample3 Sex 1 57.87739 39.36674 50.94919 Male 2 57.69042 62.63185 52.88480 Female 3 53.32203 46.50350 51.92527 Male 4 39.91623 41.34487 46.43875 Female 5 48.80547 47.63720 57.82229 Male 6 47.19605 48.02824 52.52514 Femalehead(Treatment)Sample1 Sample2 Sample3 Sex 1 55.59750 49.11435 50.53314 Male 2 47.95404 60.80799 54.06048 Female 3 47.82782 56.30754 50.87461 Male 4 63.84650 48.86360 49.23464 Female 5 44.84407 34.67098 54.49585 Male 6 74.55294 44.78883 52.09038 Femaleresults- setNames(data.frame(matrix(ncol 4, nrow 0)),c(Sample, Sex, Method, Statistics, P-value)) results [1] Sample Sex Method Statistics P-value 0 行 (或0-长度的row.names)「for循环」按物种与性别类型分别构建两个序列然后。具体循环如下 for(j in 1:2){#性别序列ck- CK[CK$Sex unique(CK$Sex)[j],]#按j所在的性别构建只有这个性别的数据子集treatment- Treatment[Treatment$Sex unique(Treatment$Sex)[j],]for(i in 1:3){#物种序列# Shapiro-Wilk正态性检验shapiro1 - shapiro.test(ck[,i])shapiro2 - shapiro.test(treatment[,i])# 如果两组数据都符合正态分布使用t检验if (shapiro1$p.value 0.05 shapiro2$p.value 0.05){test_result- t.test(ck[,i], treatment[,i])result- data.frame(Sample colnames(ck)[i],Sex unique(ck$Sex),Method T-test,Statistics test_result$statistic,P-value test_result$p.value)} # 否则使用Wilcoxon秩和检验else {test_result - wilcox.test(ck[[i]], treatment[[i]])result- data.frame(Sample colnames(ck)[i],Sex unique(ck$Sex),Method Wilcox-test,Statistics test_result$statistic,P-value test_result$p.value)}results- rbind(results, result)} }print(results)Sample Sex Method Statistics P.value t Sample1 Male T-test -2.1077511 0.04420295 t1 Sample2 Male T-test 0.9839381 0.33376260 W Sample3 Male Wilcox-test 108.0000000 0.87019446 t2 Sample1 Female T-test -2.1742758 0.03883036 t3 Sample2 Female T-test 1.5608796 0.13007330 t4 Sample3 Female T-test 0.3913041 0.69955720这样就自动得到了我们想要的结果。细节可以参考文中代码有疑惑可以留言讨论~
http://www.hkea.cn/news/14344438/

相关文章:

  • 上海做家纺的公司网站珠海网站建设小程序
  • 民政局网站建设工作总结移动优化课主讲:夫唯老师
  • 青岛网站设计电话赣州市网络科技有限公司
  • 网站流量所需的成本.用wordpress做聊天
  • 网页建设网站代码多产品网站怎么做企业网站
  • 棋牌游戏网站怎么做的老外做的中国方言网站
  • 两个网站放在同一个服务器 备案微信推广怎么弄
  • 大学个人网站期末作业wordpress 要备案吗
  • 常德建设网站制作苏州建站公司哪个济南兴田德润实惠吗
  • 合肥网站建设q479185700棒哪个网站可以做电子档的邀请函
  • 做番号网站犯法吗建设银行 福建 招聘网站
  • 网站快照不更新原因wordpress 代码解析
  • 用v9做网站优化虚拟主机和服务器
  • 换域名对网站的影响dw设计试图做网站
  • 购物网站建设过程视频广东在线网站建设
  • 什么是企业网站建设关于旅游网站建设的方案
  • 建设网站需要的工具wordpress如何开发搜索
  • dw建设网站教案攀枝花网站seo
  • 织梦是什么网站郑州网官网
  • 网站服务器建设商南通网站优化找哪家
  • 网站响应是什么wordpress手动安装主题
  • 建设银行 钓鱼网站企业手机网站建设定制
  • 电子商城网站建议书wordpress 访客记录
  • 怎样做google网站电子商务网站有哪些?
  • html5响应式网站模版建设网站需要想好的问题
  • 青岛网站制作辰星辰百度提交收录入口
  • 网站关键字优化公司wordpress 首页图片
  • 山东通信局报备网站网站退出率是什么意思
  • 动态数据库网站长春网站建设设计
  • 乌兰察布建设局网站竞价推广关键词