Rで解析:条件判断と繰り返し処理コマンドの紹介

Rの解析に役に立つ記事
スポンサーリンク

Rに初めから収録されている条件判断と繰り返し処理のコマンドです。for、if、whileなどの紹介です。

新たにパッケージを導入する必要はありません。実行コマンドはwindows 11のR version 4.1.2で確認しています。

スポンサーリンク

実行コマンド

詳細はコメントを確認して下さい。

条件判断

#ifelseコマンド:ifelse(判断内容, 適合の処理, 不適合の処理)
ifelse(is.character(100), "文字列です", "文字列ではありません")
[1] "文字列ではありません"

#入れ子も可能なif elseコマンド:if (判断内容) (適合の処理) else (不適合の処理)
#{}で全体を囲むと理解しやすくなります
{if (100 <= 200) "200&#20197;&#19979;&#12398;&#25968;&#23383;&#12391;&#12377;"
  else
    if (200 <= 300) "300&#20197;&#19979;&#12398;&#25968;&#23383;&#12391;&#12377;"
  else "300&#20197;&#19979;&#12398;&#25968;&#23383;&#12375;&#12363;&#12354;&#12426;&#12414;&#12379;&#12435;"}
[1] "200&#20197;&#19979;&#12398;&#25968;&#23383;&#12375;&#12363;&#12354;&#12426;&#12414;&#12379;&#12435;"

#&#35442;&#24403;&#20869;&#23481;&#12391;&#20966;&#29702;
#switch&#12467;&#12510;&#12531;&#12489;:switch(&#25991;&#23383;&#12418;&#12375;&#12367;&#12399;&#25968;&#23383;, &#20966;&#29702;&#20869;&#23481;1, &#20966;&#29702;&#20869;&#23481;2, ...)
#&#25991;&#23383;&#12398;&#22580;&#21512;
switch("100", "10" = 3, "100" = 4, "200" = 5)
[1] 4
#&#25968;&#23383;&#12398;&#22580;&#21512;
switch(4, "T", "E", "S", "T")
[1] "T"

#&#12513;&#12491;&#12517;&#12540;&#12391;&#36984;&#25246;&#20966;&#29702;
#menu&#12467;&#12510;&#12531;&#12489;:menu(&#36984;&#25246;&#20869;&#23481;, &#12479;&#12452;&#12488;&#12523;)
menu(c("a", "b", "c"), title = "&#12486;&#12473;&#12488;")
&#12486;&#12473;&#12488;
1: a
2: b
3: c
Selection: b
[1] 2

繰り返し処理

#&#32368;&#12426;&#36820;&#12375;&#12398;&#22238;&#25968;&#12434;&#31684;&#22258;&#12391;&#25351;&#23450;
#for&#12467;&#12510;&#12531;&#12489;:for(for&#12467;&#12510;&#12531;&#12489;&#12391;&#20351;&#29992;&#12373;&#12428;&#12427;&#22793;&#25968; in &#31684;&#22258;){&#20966;&#29702;&#20869;&#23481;}
for(i in seq(5)){ cat(LETTERS[i]) }
ABCDE

#&#20013;&#26029;&#12375;&#12394;&#12356;&#38480;&#12426;&#32368;&#12426;&#36820;&#12375;&#20966;&#29702;
#break&#12414;&#12383;&#12399;R&#12398;&#20013;&#26029;&#12391;&#12375;&#12363;&#20966;&#29702;&#12399;&#27490;&#12414;&#12426;&#12414;&#12379;&#12435;
#repeat&#12467;&#12510;&#12531;&#12489;
#&#25991;&#23383;&#12364;Q&#12395;&#12394;&#12427;&#12414;&#12391;&#20966;&#29702;
i <- 1
moji <- "Q"
repeat{ifelse(LETTERS[(i <- i + 1)] == moji, {cat(paste0(i,"&#30058;&#30446;&#12391;&#12377;&#12290;&#28961;&#20107;&#32066;&#20102;"));break}, "")}
17&#30058;&#30446;&#12391;&#12377;&#12290;&#28961;&#20107;&#32066;&#20102;

#&#26465;&#20214;&#12364;&#28288;&#12383;&#12373;&#12428;&#12427;&#12414;&#12391;&#26465;&#20214;&#12434;&#32368;&#12426;&#36820;&#12375;&#20966;&#29702;
#while&#12467;&#12510;&#12531;&#12489;:while(&#26465;&#20214;){&#28288;&#12383;&#12373;&#12428;&#12427;&#12414;&#12391;&#20966;&#29702;&#12434;&#23455;&#34892;}
i <- 1
while((i <- i + 1) < 100){cat(paste0(i, ","))}
2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,...

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました