###################################################
问题:if 判断 18.4.29
if 的应用与??。。。。。。
解决方案:
# if(){}
# if(){}else{}
# if(){}else if(){}else if(){}else{}
# ifelse() #ifelse(2==2&1==2,"yes","noo") #[1] "noo" #像三元选择符,条件为真返回第二个参数,为假返回第三个参数。
totest = c(1,3,10,0,1,0,2)
ifelse(totest == 1,"yes","no") #[1] "yes" "no" "no" "no" "yes" "no" "no"
ifelse(totest == 1,totest*3,totest+2) #[1] 3 5 12 2 3 2 4
讨论扩展:
#复合检查。双重形式(&& 和 ||)最好用于if语句;单重形式(& 和 |)用于ifelse语句。双重仅仅比较两边的一个元素,单重比较两边的每一个元素。
另请参阅:
###################################################
问题:for 循环 18.4.29
如何用 for 循环实现计算满足条件的个案数???
解决方案:
#例1:用 for 循环实现,计算满足条件的个案数。。
j = 0
for (i in iris1$Sepal.Length){
if (i>3 & i<5){j = j+1}
}
print(j)
#等价于:
length(which(iris1$Sepal.Length > 3 & iris1$Sepal.Length<5))
讨论扩展:
# next 约等于continue,,跳过本次循环的剩余部分,直接执行下一轮循环。不执行循环体中next后面的部分
# break 即 break。用法一样。
另请参阅:
###################################################
问题:while 循环 18.4.29
while循环,。。。
解决方案:
j = 1
while (j<=5 ){
print(paste("第",j,"行",sep = ""))
print(iris1[j,]);j = j+1
}
print(j)
讨论扩展:
另请参阅: