R语言学习笔记——for循环

基本语法:for (i in ()){} 或 for (i in 1:n){}

例一、为向量赋值

x <- rnorm(5) #随机生成5个均值为0,标准差为1的数
y <- numeric(length(x)) #产生长度为length(x)的数值型向量
for(i in 1:5){
  if(x[i]>=0){
    y[i] <- 8}else{
      y [i] <- 7}
}
print(y)
[1] 7 7 7 8 7

x <- 0
y <- 0
#seq(1:n):生成一个连续序列
for(i in seq(1:5)){
  x <- 2*x+3
  y <- y+x
}
y
[1] 171 

例二、构造矩阵并赋值

a <- matrix(0,5,5) #构造一个全为0的5×5矩阵
for(i in 1:5){
  for (j in 1:5){
    a[i,j] = (i+j)
}
  }
a
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    3    4    5    6
[2,]    3    4    5    6    7
[3,]    4    5    6    7    8
[4,]    5    6    7    8    9
[5,]    6    7    8    9   10

a <- matrix(0,5,5) #构造一个全为0的5×5矩阵
b <- c(1:25) 
c <- 1
for (m in 1:5){
  for (n in 1:5){
    a[m,n] = b[c] #按行赋值
    #a[n,m] = b[c] 按列赋值
    c <- c+1 
}
  }
a
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10
[3,]   11   12   13   14   15
[4,]   16   17   18   19   20
[5,]   21   22   23   24   25

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值