广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >基于R语言for循环的替换方案
  • 550
分享到

基于R语言for循环的替换方案

2024-04-02 19:04:59 550人浏览 八月长安
摘要

R语言中,for循环运行比较慢 for(i in 1:1000){ print(i^2) } 补充:R语言:for循环使用小结 基本结构展示: vals =c(5,6,7)

R语言中,for循环运行比较慢


for(i in 1:1000){
print(i^2)
}

补充:R语言:for循环使用小结

基本结构展示:


vals =c(5,6,7)
for(v in vals){
  print(v)
}
#即把大括号里的内容对vals里的每一个值都循环run一遍

实例展示:

1. paste() 命令是把几个字符连接起来

如paste("A","B","C",sep=" ")得到的就是“A B C”,在次基础上写如下for loop:


partnumber = c(1,2,5,78)
for(i in partnumber){
 print(paste("participant number",i, sep = " ")) 
}
#就可以得到一串参与者号码,根据上面给定的几个值, 从"participant number 1" 到"participant number 8" 

2. 双重loop


partnumber = c(1,2,5,78)
institution =c("cancer center", "RMH", "Florey")
for(i in partnumber){
  for(j in institution){
  print(paste("participant number",i,", institution",j,sep = " "))
}
}
# 先对j循环,后对i循环,得到如下结果
[1] "participant number 1 , institution cancer center"
[1] "participant number 1 , institution RMH"
[1] "participant number 1 , institution Florey"
[1] "participant number 2 , institution cancer center"
[1] "participant number 2 , institution RMH"
[1] "participant number 2 , institution Florey"
[1] "participant number 5 , institution cancer center"
[1] "participant number 5 , institution RMH"
[1] "participant number 5 , institution Florey"
[1] "participant number 78 , institution cancer center"
[1] "participant number 78 , institution RMH"
[1] "participant number 78 , institution Florey"
# 两个loop的话,output得放最中心的loop里面,如果只要要第一层loop,就放在靠外一层括号里面,第二层括号就保留最后的一个值

3. 数据库实例演示


Titanic=read.csv("https://Goo.gl/4Gqsnz")  #从网络读取数据<0.2, 0.2-0.6还是>0.6。

目的:看不同舱位(Pclass)和不同性别(Sex)的人的生存率是


A<- sort(unique(Pclass))   #sort可以把类别按大小顺序排,unique()命令是把分类变量的种类提取出来
B<- sort(unique(Sex))
for(i in A){ 
  for(j in B){
   if(mean(Survived[Pclass==i&Sex==j])<0.2){
    print(paste("for class",i,"sex",j,"mean survival is less than 0.2"))
  } else if (mean(Survived[Pclass==i&Sex==j])>0.6){
    print(paste("for class",i,"sex",j,"mean survival is more than 0.6"))
  } else {
    print(paste("for class",i,"sex",j,"mean survival is between 0.2 and 0.6"))} 
  }  
}

结果如下:

[1] "for class 1 sex female mean survival is more than 0.6"

[1] "for class 1 sex male mean survival is between 0.2 and 0.6"

[1] "for class 2 sex female mean survival is more than 0.6"

[1] "for class 2 sex male mean survival is less than 0.2"

[1] "for class 3 sex female mean survival is between 0.2 and 0.6"

[1] "for class 3 sex male mean survival is less than 0.2"

补充:R语言for循环批量生成变量,并且赋值

看代码~


rm(list=ls())
data <- read.table("MS_identified_infORMation.txt",header = T,sep = "\t",quote="",na.strings = "",row.names = 1,comment.char = "")
name1 <- paste("H1299",sep = "_",c(1:3))
name2 <- paste("Metf",sep = "_",c(1:3))
name3 <- paste("OEMetf",sep = "_",c(1:3))
name <- data.frame(name1,name2,name3)
mean.data=data.frame(row.names(data))
for (i in 1:3){
  tmp <- subset(data,select = as.vector.factor(name[,i])) #筛选特定的样本
  mean_ <- as.data.frame(apply(tmp, 1, mean)) #行求平均值
  //assign()功能就是对变量进行赋值如i=1时,df1=mean_
  //把三次结果组合起来
  mean.data <- cbind.data.frame(mean.data,assign(paste("df", i, sep=""), mean_))
  //这里没有体现出变量,实际上生成了df1,df2,df3结果
}
colnames(mean.data) <- c("ID","H1299","Metf","OEMetf")
write.table(mean.data,file="MS_mean.xls",row.names = FALSE,sep = "\t",na="")

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: 基于R语言for循环的替换方案

本文链接: https://www.lsjlt.com/news/123974.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于R语言for循环的替换方案
    R语言中,for循环运行比较慢 for(i in 1:1000){ print(i^2) } 补充:R语言:for循环使用小结 基本结构展示: vals =c(5,6,7)...
    99+
    2022-11-12
  • 如何使用R语言替换for循环
    这篇文章将为大家详细讲解有关如何使用R语言替换for循环,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。R语言中,for循环运行比较慢for(i in 1:1000){pr...
    99+
    2023-06-14
  • R语言中for循环的并行处理方式
    前言 本文用于记录笔者在将R语言中的for语句并行化处理中的一些问题。 实验 这里使用foreach和doParallel包提供的函数实现for语句的并行处理。 for语句脚本 ...
    99+
    2022-11-12
  • Go语言中for循环的经典案例分析
    目录前言案例一:for+传值案例二:for+传址案例三:for+闭包案例四:for+goroutine总结前言 for循环问题,在面试中经常都会被问到,并且在实际业务项目中也经常用到...
    99+
    2023-02-09
    Go语言 for循环 Go for循环 Go for
  • 基于R语言xlsx安装遇到的问题及解决方案
    1、java环境的安装,如果java安装的是64位使用R软件一定要是64位,如果使用32位会报错,版本一定要对应。 2、安装顺序要是install.packages(“rJava”)...
    99+
    2022-11-12
  • Go语言基础for循环语句的用法及示例详解
    目录概述语法注意示例一  死循环,读取文件示例二  打印乘法表示例三  遍历字符串,数组,map 概述 for循环是一个循环控制结构,可以执行指定次数的...
    99+
    2022-11-12
  • R语言基于Keras的MLP神经网络及环境搭建
    目录Intro环境搭建本机电脑配置安装TensorFlow以及Keras安装R以及Rstudio基于R语言的深度学习MLP在Rstudio中安装Tensorflow和KerasMNI...
    99+
    2022-11-12
  • 基于R语言中的各种更新方法分享
    宏包的更新 卸载package remove.packages("mypackage") 查看的version R.version 或者 getRversion() ...
    99+
    2022-11-12
  • JS关于for循环中使用setTimeout的四种解决方案
    目录概述解决方案1:闭包解决方案2:拆分结构解决方案3:let解决方案4:setTimeout第三个参数概述 我们先来简单了解一下setTimeout延时器的运行机制。setTime...
    99+
    2022-11-12
  • 基于Ubuntu的R语言版本升级方法有哪些
    这篇文章主要讲解了“基于Ubuntu的R语言版本升级方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Ubuntu的R语言版本升级方法有哪些”吧!1. 具体操作我们以 Ubuntu...
    99+
    2023-06-25
  • R语言基于Keras的MLP神经网络及环境怎么搭建
    这篇文章主要为大家分析了R语言基于Keras的MLP神经网络及环境怎么搭建的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“R语言基于Keras的MLP神经网络...
    99+
    2023-06-26
  • Go语言中的For循环常见问题的处理方式
    这篇文章主要讲解了“Go语言中的For循环常见问题的处理方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言中的For循环常见问题的处理方式”吧!For循环在我们日常编码中可能用的很多...
    99+
    2023-06-16
  • 基于NPM的GO语言应用部署方案有哪些值得推荐?
    随着互联网行业的不断发展,越来越多的企业开始将自己的业务迁移到云端,这也催生了一系列的云计算服务和工具。其中,基于NPM的GO语言应用部署方案越来越受到开发者的关注和追捧。本篇文章将从以下几个方面来介绍基于NPM的GO语言应用部署方案。 一...
    99+
    2023-06-21
    响应 容器 npm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作