2013年1月28日月曜日

Rで行列からベクトルを取り出す

> x <- matrix(runif(5*4),ncol=5,nrow=4) # ランダムな行列作成
> x
          [,1]       [,2]       [,3]      [,4]       [,5]
[1,] 0.2849401 0.87684443 0.02844246 0.5394180 0.36615681
[2,] 0.3301715 0.09579336 0.61150386 0.6823147 0.74778217
[3,] 0.8273795 0.22615717 0.59909658 0.7701186 0.04878373
[4,] 0.9898318 0.71143105 0.95935694 0.5836727 0.63342126
> y<-as.numeric(x[1:dim(x)[1]]) # 1列目をベクトルとして取り出す
> y
[1] 0.2849401 0.3301715 0.8273795 0.9898318
> y<-as.numeric(x[1:dim(x)[1],1]) # 1列目をベクトルとして取り出す
> y
[1] 0.2849401 0.3301715 0.8273795 0.9898318
> y<-as.numeric(x[1:dim(x)[1],3]) # 3列目をベクトルとして取り出す
> y
[1] 0.02844246 0.61150386 0.59909658 0.95935694
> y<-as.numeric(x[2,1:dim(x)[2]]) # 2行目をベクトルとして取り出す
> y
[1] 0.33017152 0.09579336 0.61150386 0.68231470 0.74778217



参考 dim()
> x <- matrix(runif(5*4),ncol=5,nrow=4)
> x
           [,1]      [,2]      [,3]      [,4]       [,5]
[1,] 0.48979355 0.7012950 0.0197624 0.5450226 0.75162774
[2,] 0.04856294 0.4535511 0.2631810 0.9319915 0.35800765
[3,] 0.53541554 0.9646692 0.5856587 0.6115715 0.33092957
[4,] 0.52836800 0.4141150 0.3830334 0.4947907 0.05568016
> dim(x)  # xの行と列の情報を調べる
[1] 4 5
> dim(x)[1] # xの行数を表示
[1] 4
> dim(x)[2] # xの列数を表示
[1] 5


http://www.is.titech.ac.jp/~mase/Rtips.html#item2

データフレームの場合
http://joker.hatenablog.com/entry/20110410/1302391668

0 件のコメント:

コメントを投稿