連番の数字の先頭2桁を取り出すときのコード。
例えばxを995から1005までの整数とし、ゼロを含む先頭2桁を取り出す。
> x <- 995:1005 > x [1] 995 996 997 998 999 1000 1001 1002 1003 1004 1005 > class(x) [1] "integer"
はじめの5つのみ3桁の整数なので、数値の頭にゼロを詰め、4桁の数値にする(桁を揃える)。formatC関数を使うと、
> x <- formatC(x,width=4,flag="0") > x [1] "0995" "0996" "0997" "0998" "0999" "1000" "1001" "1002" "1003" "1004" "1005" > class(x) [1] "character"
4桁の数値になる。しかしxのclassがinteger(整数)からcharacter(文字)に変わる。
3桁のxから頭2桁を取り出してyとする。最後にyを数値に変換する。
> y <- substr(x,1,2) > y <- as.integer(y)*1.0 > y [1] 9 9 9 9 9 10 10 10 10 10 10 > class(y) [1] "numeric"