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”的列号
which(names(ls)== "x4") i=
变量“ 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时,它会跳出循环。
◆
◆
◆
◆
◆
◆
◆
◆
◆