R语言|for循环————R语言入门到入土系列(八)

R语言入门到入土系列

  R语言作为数据科学的第一利器;本人介绍了一些R语言的基础入门知识,希望能帮到大家,往期系列文章点击下面文字直达🚀

数据类型——R语言入门到入土系列(一).
数据结构(一) 向量 ———R语言入门到入土系列(二).
数据结构(二) 矩阵 ———R语言入门到入土系列(三).
数据结构(三) 数组 ———R语言入门到入土系列(四).
数据结构(四) 数据框 ———R语言入门到入土系列(五).
数据结构(五) 列表 ———R语言入门到入土系列(六).
for循环————R语言入门到入土系列(八).
while循环————R语言入门到入土系列(九).



当你把所有语言作对比,就会发现循环和分支是程序的灵魂所在,接下来的入门系列将持续更新其他循环结构和分支结构。


# for循环结构体 R语言for循环的结构体: >for ( 迭代因子 in 迭代区间 ) { 循环体 }

循环的程序图如下图所示,先生成初始数值,通过循环条件的判断来决定是否运行循环体部分的语句。当跳出循环条件之后,输出返回 的结果。

在这里插入图片描述

for循环求1到1000连加求和

# for循环1到100的连加
ans <- 0               # 对结果赋初值
for (i in 1:1000) {
  ans <- ans + i       # 将每次的值累加
}
# ans = 500500

首先确定确定初始化数值,ans=0,因为求和区间为1到1000,因此确定迭代区间为1:1000,将没次的求和值进行迭代相加,所得便是结果。
当然作为数据分析比较强的R语言,当然还有更方便快捷的方法。

> sum(1:1000)
[1] 500500

for循环求1到10的阶乘

  • 方法一:
    按照常规的编程思维结合前文的程序框图,编程所得结果如下,可以再RStudio变量列表见如下表内内容
# for循环1到10的阶乘之和
## 初始化数值
fac = 1
ans = 0

## 循环求值
for (i in 1:10) {
  fac = fac*i         # 阶乘计算
  ans = ans + fac     # 累加求和
}
varValues
ans4037913
fac362880
i10L
可以看出所得内容并不是太多,并且中间步骤也都无法看清,因此我们可以使用R语言向量进行操作:
  • 方法二:
    结合R语言列表,将过程可视化。
## 向量看过程
fac <- rep(1,10)
for (i in 1:10) {
  fac[i+1] = fac[i] * i
}
sum(fac[-1])

在这里插入图片描述
通过结果可以看出fac每一次的阶乘大小,通过sum()求和函数则可以看出结果的大小。


在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记yu心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值