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

R语言入门到入土系列

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

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


R语言for循环结构

  • R语言入门到入土系列
  • for循环求1到1000连加求和
  • for循环求1到10的阶乘

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


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

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

R语言|for循环————R语言入门到入土系列(八)_第1张图片

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     # 累加求和
}
var Values
ans 4037913
fac 362880
i 10L

可以看出所得内容并不是太多,并且中间步骤也都无法看清,因此我们可以使用R语言向量进行操作:

  • 方法二:
    结合R语言列表,将过程可视化。
## 向量看过程
fac <- rep(1,10)
for (i in 1:10) {
  fac[i+1] = fac[i] * i
}
sum(fac[-1])

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


R语言|for循环————R语言入门到入土系列(八)_第2张图片

你可能感兴趣的:(R语言——知识星球,r语言,数据分析,编程语言,数据挖掘)