R语言笔记——WHICH函数一
本个专题将介绍R语言的一些基本技能和实用技巧。本教程介绍了R中WHICH函数的用法以及它如何与示例一起使用。
WHICH
在R中,which()函数为您提供逻辑向量TRUE的元素的 位置。它可以是向量中的行号或列号或位置。
字母“ z”在az字母中的位置
which(letters==“ z”)当“ z”位于第26位时
返回 26 。
创建一个示例数据框
以下程序创建一个包含四个变量的数据框。该数据帧将在后续示例中使用。
> ls = data.frame( x1 = ceiling(runif(10)*10),+ x2 = ceiling(runif(10)*10),+ x3 = runif(10),+ x4= rep(letters[1:5],2))
# x1 x2 x3 x4# 1 9 5 0.4272740 a# 2 1 6 0.5762478 b# 3 10 10 0.3396133 c# 4 8 4 0.8779946 d# 5 7 1 0.3308398 e# 6 3 4 0.4284258 a# 7 4 2 0.4895551 b# 8 4 8 0.6322988 c# 9 5 6 0.1949402 d# 10 9 6 0.5328050 e
ls数据集中的变量“ x4”的列号
 i=which(names(ls)== "x4") 
变量“ x1”的最大值存在的行号
 which(ls$x1 == max(ls$x1)) 
# [1] 1 
在这种情况下,它将为您提供存储x1最大值的行/观察号。
R中 的while循环
while循环比for循环更广泛,因为您可以将任何for循环记录为while循环,反之则不行。 在下面的示例中,我们正在检查数字是奇数还是偶数
> i=1> while(i<7)+ {+ if(i%%2==0)+ print(paste(i, "is an Even number"))+ else if(i%%2>0)+ print(paste(i, "is an Odd number"))+ i=i+1+ }
# [1] "1 is an Odd number"# [1] "2 is an Even number"# [1] "3 is an Odd number"# [1] "4 is an Even number"# [1] "5 is an Odd number"# [1] "6 is an Even number"
将i %% 2读取为mod(i,2)。迭代将从1开始到6(即i <7)。满足条件时停止。
循环概念
Break和Next Break关键字 当循环遇到“ break”时,它将停止迭代并退出循环。
> for (i in 1:3) {+ for (j in 3:1) {+ if ((i+j) > 4) {+ break } else {+ print(paste("i=", i, "j=", j))+ }+ }+ }
# [1] "i= 1 j= 3"# [1] "i= 1 j= 2"# [1] "i= 1 j= 1"
在这种情况下,当满足条件i + j> 4时,它会跳出循环。
◆
◆
◆
◆
◆
◆
◆
◆
◆
