R的程序控制

图1 程序结构.gif

程序一般有三种结构,分别是顺序和分支以及循环,顺序结构就是一个个代码顺序执行相对简单,复杂编程主要用到条件分支结构和循环结构。

1.分支结构

分支结构语句 if.......else.

a=1
if (a>0) {
+print('a大于0')
+} else {print('a小于0')
+}
[1] "a大于0"

2.循环结构

for (i in 1:4) {
+i <- i+1
+print(i)
+}
[1] 2
[1] 3
[1] 4
[1] 5
i=1
while(i<=4) {
+i <- i+1
+print(i)
+}
[1] 2
[1] 3
[1] 4
[1] 5

3.apply函数

3.1lapply与sapply:对列表进行循环。

lapply(x,fun,...) #x为列表,fun为循环函数
sapply(x,fun,...,simplify =TRUE) # simplify 是否简化结果

x = list(a =1:5,b =rnorm(10)) #生成两组向量,其中b是10个服从标准正态分布的随机数
x
$a
[1] 1 2 3 4 5

$b
[1] -0.48908282 0.20934463 -0.09036247 0.19041982 -0.93770103 -0.77648026 -1.84829272 0.15146183 0.30512533
[10] -0.82211607

lapply(x,mean)
$a
[1] 3

$b
[1] -0.4107684

sapply(x,mean)
a b
3.0000000 -0.4107684

3.2 apply:应用某函数到一个数组上

apply(x,margin,fun,.....) #x为矩阵或数组,margin对象为矩阵时,1表示行2表示列

x =matrix(rnorm(6),2,3)
x
[,1] [,2] [,3]
[1,] -1.120275 -0.1641202 -1.2437288
[2,] 0.730618 0.5825271 -0.3070289
apply(x,2,mean) #对数据框列进行循环
[1] -0.1948284 0.2092035 -0.7753789
apply(x,1,mean) #对数据框行进行循环
[1] -0.8427079 0.3353721

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,198评论 0赞 2
  • /*滚动条样式*/.cal_bottom::-webkit-scrollbar {/*滚动条整体样式*/width...
    变态的小水瓶阅读 1,048评论 0赞 1
  • 三界唯心,万法唯识。
    胡钧阅读 282评论 0赞 0
  • 今天偶然听到这首歌,是很常见的日本纯音乐,但却莫名的很喜欢这个歌名。听了那么多情歌,却从没有看见过谁曾这样形容过感...
    霜酱酱阅读 848评论 3赞 1
  • 1. 引入 事务是一个不可分割的执行单元 事务作为一个整体要么一起执行,要么一起回滚 插入测试数据: 2. 事务操...
    泡泡龙吐泡泡阅读 490评论 0赞 2

友情链接更多精彩内容