僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ゼロ除算でエラーにならない。
> foo <- function(num) { + print(10/num) + print("OK") + } > foo(5) [1] 2 [1] "OK" > foo(0) [1] Inf [1] "OK"
Infは無限大らしい。NaN は非数値だそうである。
> Inf + 2 [1] Inf > Inf * Inf [1] Inf > Inf/Inf [1] NaN > Inf - Inf [1] NaN > Inf / Inf [1] NaN
数値型の他に、整数型もあるらしいが、どう違うのか あまりよく分からなかったり。
> foo = as.integer(10) > bar = as.integer(3) > foo / bar [1] 3.333333 > foo %/% bar [1] 3 > 10 / 3 [1] 3.333333 > 10 %/% 3 [1] 3 > int3 = as.integer(3) > num3 = 3 > int3 == num3 [1] TRUE
class() はオブジェクトのクラス名を返す。
> ls() [1] "bar" "foo" > class("3 days") [1] "character" > class(100) [1] "numeric" > class(int3) [1] "integer" > class(num3) [1] "numeric"
ゼロから数えないのだろうか。
> vect1 <- c(0:3) > vect1 [1] 0 1 2 3 > vect1[0] integer(0) > vect1[3] [1] 2 > vect1[1:4] [1] 0 1 2 3 > vect1[1:5] [1] 0 1 2 3 NA
ドキュメントによれば、"<-" は、 "In most contexts the ‘=’ operator can be used as an alternative." な由。また、 assign()も同様。
> assign("foo", 5:7) > foo [1] 5 6 7
ベクトル型は、同じ型のデータしか格納できないっぽい。
> bar <- c(TRUE, FALSE) > bar [1] TRUE FALSE > baz <- c(TRUE, FALSE, 3) > baz [1] 1 0 3 > qux <- c(TRUE, FALSE, "foo") > qux [1] "TRUE" "FALSE" "foo"
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。