読者です 読者をやめる 読者になる 読者になる

R言語による電子カルテデータの二次利用

~R言語初心者がデータ処理を楽しめるように基本的内容中心のサイトです~

Rのデータ構造について

R言語 Rのデータ構造
Rのデータ構造

よく用いられるベクトル、データフレーム、リストのみを簡単に説明します。その他は必要時にググってください。
厳密な定義は成書にお任せしますので、あくまでイメージです。

ベクトル

1から5までのデータが入った、1行の入れ物を想像してください。

1 2 3 4 5

データの名前をxとするとRではこのように記載します。

x <- c(1,2,3,4,5)

文字でも良いですが、""を付けてください

y <- c("a","b","c","d","e")

作ったベクトルの中身を確認するには、そのままオブジェクト名で中身を確認できます。
f:id:r_beginner:20160221100616j:plain
ベクトルには順番に番号が付けられています。ベクトルyの2番目の文字は、

y[2]

と記載します。
f:id:r_beginner:20160221101008j:plain
ちゃんと"b"が出力されます。
ベクトルyの3番目を"f"に変更するには、

y[3] <- "f"

ちゃんと変更できているかは、確認してみてください。

データフレーム

エクセルのシートのような、複数行と複数列を持てる入れ物です。

id name age gender birth
10001 山田花子 85 female 1930-01-30
10002 北海太郎 45 male 1970-07-01

このようなデータフレームを作成するには、まず各列のベクトルを作り

id <- c(10001,10002)
name <- c("山田花子","北海太郎")
age <- c(85,45)
gender <- c("female","male")
birth <- c("1930-01-30","1970-07-01")

データフレームとして結合します。後で使いやすくmasterというオブジェクトに代入します。

master <- data.frame(id,name,age,gender,birth)

できているか確認してみましょう。
f:id:r_beginner:20160221103210j:plain
データフレームにアクセスするには、2次元の添字を付けます。m行目、n列へのアクセスはmaster[m,n]と記載します。
山田花子さんの名前は、1行目で2列目なので
f:id:r_beginner:20160221103525j:plain
うまく出力できています。

使いたいデータをすでにお持ちの場合は、データの取り込み関するページを参考にしてください。http://r-beginner.hatenadiary.jp/entry/2016/02/15/222033

列名の変更は、

colnames(master) <- c("ID","NAME","AGE","GENDER","BIRTH")

1列目の名前だけ変更するには、

colnames(master)[1] <- c("Id") 

行名を変更するには、

rownames(master) <- 3:4

でできます。

リスト

リストは、使う頻度はすくないかもしれませんが、ベクトルや、データフレームをまとめて一つのオブジェクトとして持てます。ノートでも、メモ書きでもまとめてダンボールに詰め込む感じ?です。

先ほど作成した、ベクトルもデータフレームもまとめてオブジェクトzに入れてみましょう。

z <- list(x=x,y=y,master=master)

全体をみたり、おのおのにアクセスしたりするには

z
z$master

f:id:r_beginner:20160221104442j:plain
リストは統計解析の結果表示で出力されることが多いので、簡単には理解しておいた方が良いです。

ほかのデータ構造は、詳しいサイトで確認してください。