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文字目
をそれぞれ取り出す処理を記述せよ.