开发者学堂课程【大数据之 R 语言速成与实战:R 高级数据管理—重复和循环、条件执行、转置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/363/detail/4338
R 高级数据管理—重复和循环、条件执行、转置
内容介绍
一、重复和循环
二、条件执行
三、转置
一、重复和循环
在正常情况下 R 程序当中语句是从上至下顺序执行的,但有时需要重复执行某些语句,这时就要用到控制流。
首先打开 Rsyudio,
关于循环重复结构的执行,一个或一系列语句,直到循环到某些条件不为增为止,for和 while 两种结构,
我们来看 for 结构:首先R语言的 for 结构与 java、C++ 等语言中括号里的执行条件是不一样的,在R语言中for结构为:> for ( i in 1:5),如我们写入:
>for ( i in 1:5) print(“Hello”)执行后便会在屏幕上循环五次“Hello”。
而 while 结构是判定的条件,表示一个变量在满足某个条件时进行重复循环,所以要先初始化一个变量,如:
> x <-5
> while(x>0) {print(“Hello”); x<- x-1}
注意在此结构中要加上x<- x-1,因为已设 x 是等于5的,若没有条件限制,x永远大于0会无限循环下去。若在操作大数据量时则不适合用这两种结构。
二、条件执行
在条件执行结构中,一条或一组语句仅在满足一个条件时,才能执行,包括 if-else、ifels、switch 三种结构,首先 if-else 如下:
> x <- 1
> if (x !=1) print(
“male”)
> if (x !=1) print(
“male”) else print(“female”)
这时执行会输出“female”。
ifels 的条件为:>ifels(cond, statement1, statement2),意思为若满足 cond 时则执行 statement1,不满足执行 statement2,如下:
> x <- 1
>ifels(x>1,print(“male”), print(“female”))
执行后 x 不满足大于1这个条件,所以输出“female”。
switch是针对多种情况来进行条件选择,如下:
> feeling<-c(“sad”,”afraid”)
> for (i in feeling)
>print(switch (i ,happy = ”I am glad”,afraid=”fear”,sad=”cheer up”))
执行时会从 feeling 中匹配,如上匹配到 sad 和 afraid 所以输出后得到”fear”和”cheer up”,没有匹配到 happy 就没有”I am glad”。
三、转置
在处理 R 中数据时需要将其中的行与列转置时需要用到t函数,
此时我们输入t函数,此时行与列就完成了转置。