2.1 逐次処理
Rは記述されたプログラムを上から順番に実行している,逐次処理を行う言語である.
例えば以下のコードを実行すると,
## [1] 20
となる.これは,a <- 10
の後にb <- 20
が実行され変数a
の中身が20で上書きされたあとに,print(a)
が実行されているためである.この順番を入れ替えると
## [1] 10
とa
の中身は10となっている.これは,a <- 20
が実行される前にa
の中身を表示しているためである.
上から順番に実行されるということは,実行するコードよりも上のコードで定義されていない変数などが使えないということでもある.
例えば
print(xxx)
xxx <- 10
というコードを実行するとどうなるだろうか?
これは,print(xxx)
が実行される時点でxxx
という変数が無いので,エラーが返される.(実際に実行してみて欲しい).
Exercise 2.1 (逐次処理) 次の問題について解答となるプログラムを実装せよ.
- 与えられたベクトル
x
について,5番目の要素をprint
関数で表示せよ
substr(x, start, stop)
という関数は,引数x
を文字列として受け取り,start
からstop
までの部分文字列を取り出す.
具体的には以下のように利用する.
## [1] "llo"
## [1] "R"
さて,tech-ml-studymetting
という文字列を格納した変数s
を作成して,s
の部分文字列として,
- 4から8文字目
- 10文字目
をそれぞれ取り出す処理を記述せよ.