R言語による医療データ分析

R言語によるデータ分析のオンラインコースを中心に、さまざまなデータ分析について記載してあります。

017-020 データフレーム(S2)

まとめ一覧

データフレームのイメージ

pic

  • ベクトルだと、1列、1列に名前をつけてました
  • データフレームだと、「表」に名前をつけることができます
  • 管理が楽ちん!

データフレームを作成する

#データフレームをつくりましょう

data.frame(c(1,2,3,4),c("Aさん","Bさん","Cさん","Dさん"))

#なにかが変です。(主に、列の名前が・・・)

#列に名前をつけて、データフレームを作りましょう。

data.frame(number = c(1,2,3,4),
           name = c("Aさん","Bさん","Cさん","Dさん"))
          
#なんとなく、表っぽくなりました!

表に名前をつける

# 表に名前をつけて見ましょう。
hyou <- data.frame(number = c(1,2,3,4),
                   name = c("Aさん","Bさん","Cさん","Dさん"))

# はじめてのデータフレーム(名前付き!)です。
# ちょっとだけ、覚えるコマンドがありますので、
#覚えましょう。View()と$です。

# View() ------------------------------------------------------------------

# viewではなくて、Viewです。Vが大文字です!
View(hyou) #表示させましょう。

#動画の様に、内容を見ながら、データ加工を行うことができます
#変数名のクリックでも同じことができます

# $ -----------------------------------------------------------------------

#ドルサインは、ベクトルを取り出したい時に便利です。

hyou <- data.frame(number = c(1,2,3,4),
                   name = c("Aさん","Bさん","Cさん","Dさん"))

#で作った表ですが、nameをベクトルとして取り出したい!
#となったときには、

hyou$name

#でとりだせます。

hyou$number


# 列の置き換え ------------------------------------------------------------------

View(hyou) 

#次のコードを実行すると、何が起こるでしょう?
hyou$name <- c(100,200,300,400)

#これは?
hyou$name <- c("いえーい")

#ベクトルは勝手に複製されるという話がここでも生きています。
#ただし、

hyou$name <- c("その1","その2")

#はOKでも、

hyou$name <- c("その1","その2","その3")

#は最初に実験したようにエラーがでます。

スライドのデータフレームを作成してみる

pic

vec_id <- c(1:7)
vec_namae <- c("A","B","C","D","E","F","G")
vec_by <- c(1987, 1930, 1940, 1972, 1954, 1987, 1930)
vec_gender <- c("男","女","男","男","男","女","男")
vec_admission <- c("2018-1-23", "2018-1-27", "2018-2-4",
                   "2018-3-2","2018-3-10","2018-3-12",
                   "2018-3-15")
vec_discharge <- c("2018-1-30", "2018-2-1", "2018-2-9",
                   "2018-3-3","2018-3-13","2018-3-13",
                   "2018-4-1")
vec_is_dead <- c(0,0,0,0,0,1,0)

hyou <- data.frame(
  id = vec_id,
  name = vec_namae,
  seinen = vec_by,
  seibetu = vec_gender,
  admission_date = vec_admission,
  discharge_date= vec_discharge,
  is_dead = vec_is_dead
)

データフレームのまとめ

pic

まとめ一覧