【R言語】Rでのプログラミング  その2

・条件式と論理記号

 

==:等しい !=:等しくない !:~でない

 

・条件ごとに異なる処理を行う

 

条件ごとに異なる処理を行う場合はswitch()を使います。

 

> x<-2
> y<-5
> z<-“+”
> switch(z,
+ “*”={print(“掛け算”);x*y},
+ “+”={print(“足し算”);x+y})
[1] “足し算”
[1] 7

 

第1引数には条件を指定します。次に続くのが実行式であり、文字列と「;」を挟んだ右側にあるやつです。

 

 

・繰り返し文

 

次はスクリプトを書く上で絶対必須である繰り返し分を取り上げていきます。Rでは、for()で繰り返し処理ができます。

 

試しに1から10000までの数字の合計を繰り返しで計算してみます。

 

> x<-1:10000
> i<-0
> for(a in x){
+ i<-i+a
+ }
> i
[1] 50005000

 

これは足し算の結果を「i」というオブジェクトに保存し、そしてループで「i」を上書きしていくというものです。

 

また繰り返す回数をしてしないときはwhile()を使います。

 

> i<-0
> while(i<100){
+ i<-i+1
+ }
> print(i)
[1] 100

 

ここで「i」の更新方法(上の式の i<-i+1 の部分)を指定忘れると無限にループになりRを強制終了しないといけなくなるので注意しましょう。

 

 

・ループの終了とスキップの指定

 

nextbreakを使えば条件が満たされた場合にループを終了したりスキップすることができます。

 

 

 

> i<-0
> while(i<100){
+ i<-i+1
+ if(i%%30!=0)next
+ if(i%%90==0){
+ cat(“\n”)
+ break
+ }
+ cat(i,”\t”)
+ }
30 60

 

この式は30の倍数になったら画面に表示し90で打ち切るというものです。30で割れるかどうかは%%演算子(余りを求める演算子)で調べられます。

 

もちろん割り切れる場合は0ですが、割り切れない場合は0ではありません。なので、条件式の後にnextを加えることによって、割り切れなかったら次に行くとしています。

 

そしてiが90になったら、cat()で結果を画面に出力させ、breakでループを打ち切るとしています。

 

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする