R语言的条件控制语句
条件控制语句--
1)if-else语句
2)switch语句
If-else语句
(1):if(cond) statement_1
(2):if(cond) statement_1
else statement_2
(3)Ifelse
用法实例:
> x<-3
> #运行完之后值存放在y中
> if(x>2) y<-2*x else y<-3*x
> x
[1] 3
> y
[1] 6
> #运行完之后不仅将值存放在y中,还会将值返回
> x<-1> ifelse(x>2,y<-2*x,y<-3*x)
[1] 3
> y
[1] 3
Swith()循环:
实例:
> #第一个参数表示运行后面第几个表达式
> switch (1,2*3,sd(1:5),runif(3))
[1] 6
> switch (2,2*3,sd(1:5),runif(3))
[1] 1.6
> switch (3,2*3,sd(1:5),runif(3))
[1] 0.163 0.095 0.862
> feelings<-c("sad","afraid")
> for (i in feelings) {
+ print(
+ switch (i,happy="I am glad you are happy",
+ afraid="There is nothing to fear",
+ sad="Cheer up",
+ angry="Calm down now"
+ )
+
+ )
+ }
[1] "Cheer up"
[1] "There is nothing to fear"
> #for不带大括号
> for (i in feelings)
+ print(
+ switch (i,happy="I am glad you are happy",
+ afraid="There is nothing to fear",
+ sad="Cheer up",
+ angry="Calm down now"
+ )
+
+ )
[1] "Cheer up"
[1] "There is nothing to fear"
循环语句
1)for语句
2)while语句
3)repeat语句
一、for循环
二、While循环
三、Repeat循环
实例:
> #for
> Fibonacci<-NULL
> mode(Fibonacci)
[1] "NULL"
> Fibonacci[1]<-Fibonacci[2]<-1
> n=16> for (i in 3:n) {
+ Fibonacci[i]<-Fibonacci[i-2]
+Fibonacci[i-1]
+ }
> #while
> i<-3
> while(Fibonacci[i-2]
+Fibonacci[i-1]<1000){
+ Fibonacci[i]<-Fibonacci[i-2]
+Fibonacci[i-1]
+ i<-i+1
+ }
> Fibonacci
[1] 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
> i<-1
> while(Fibonacci[i]+Fibonacci[i+1]<1000){
+ Fibonacci[i+2]<-Fibonacci[i]+Fibonacci[i+1]
+ i<-i+1
+ }
> Fibonacci
[1] 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
> i<-1
> repeat{
+ Fibonacci[i+2]<-Fibonacci[i]+Fibonacci[i+1]
+ i<-i+1
+ if(F