R の使い方その3
数値解析とグラフィクス


□ 連立一次方程式の解

  x + 2*y = 2, 3*x + 4*y = 3 の解の計算

    > (A <- matrix(c(1, 2, 3, 4), 2, 2, byrow = TRUE))
    > (b <- c(2, 3))
    > solve(A, b)

□ 多項式

  多項式 x^3 - 8*x^2 -3*x + 9 の表現.

    > (p <- c(9 -3 -8 1))

  零点の計算(求根)

    > (r <- polyroot(p))

□ 行列の分解

    > (M <- matrix(1:9, 3, 3))

    QR 分解

    > qr(M)

    特異値分解

    > svd(M)

□ 直線近似(回帰分析)

   x = 1 y = 4
       2     5
       3     7
       4     9
       5    12
   に対する近似.

    > (df <- data.frame(x = 1:5, y = c(4, 5, 7, 9, 12)))

    直線近似

    > (df.fit <- lm(y ~ x, df))

    グラフ表示

    > with(df, plot(x, y))
    > abline(df.fit)
    > dev.off()

    詳細の表示
  
    > summary(df.fit)

□ ファイルの利用

  data.csv という名前で

    1 ,  4
    2 ,  5
    3 ,  7
    4 ,  9
    5 , 12

  というデータが保存されているとする.

    > (df <- read.csv("data.csv", header = FALSE))
    > str(df)
    > df$V1
    > str(df$V2)
    > range(df$V2)
    > diff(range(df$V2))
    > (df.fit <- lm(V2 ~ V1, df))
    > summary(f1)
    > with(df, plot(V1, V2))
    > abline(df.fit)
    > dev.off()

□ 関数の定義と作図

    > sqr <- function(x) x^2
    > sqr(c(1, 2))

    > x <- seq(-1,1,length.out=11)
    > plot(x, sqr(x))
    > plot(x, sqr(x), type = "o")
    > plot(x, sqr(x), type = "l")
    > curve(sqr, -1, 1)

□ グラフィクスのデモを見る

    > demo(graphics)
    > dev.off()
   

GNU R
naniwa@rbt.his.u-fukui.ac.jp