内科のメモ帳

ずぼらな覚え書き

ユーザ用ツール

サイト用ツール


apps:r:data

データの種類 {R}

  • 数値型
    • numeric:数字
    • double:二値変数
    • Integer:1L
  • 文字列型
    • character:文字列 “Rは楽しいよ!”
  • 因子型
    • factor:カテゴリカル変数の表現に用いる(男女,血液型,など)
      • 対応表と数字データのセットで保存するようなイメージ
        • as.factor 関数で作成する
    • Ord.factor:因子型に順番が設定された変数
      • Legendの表示順は原則アルファベット順だがこの形にしておくと順番通りに並べてくれるので便利
  • Logical型:TRUE(T), FALSE(F)
    • 数値型に変換すると,TRUE=1,FALSE=0
      • T+T = 2 になる
    • 逆に数値を as.logical() で変換すると 0 以外全て TRUE

factor

#飲酒頻度 Alc というベクトルを作成する
Alc = c("毎日","週4-6日","週1-3日","週1日以内","のまない")

#Alcを因子型に変更して代入する
Alc <- as.factor(Alc)  

#levels() で対応表を確認する
levels(Alc)

#factorを後から追加する
levels(Alc) <- c(levels(Alc), "毎日2合〜5合","毎日5合以上")

比較オペレーター

# "==" とイコールを重ねると,値が正しいかを T/F で返す
a == 10

# "=>" 大なりイコールが成立しているかを T/F で返す
a => 10

特定の値を取り出す

# ベクトル名[<logicalベクトル>]
# 例)
vec <- c(1:5)        #1,2,3,4,5 というベクトル
vec[c(F,T,F,T,F)]    #2,4 だけ取り出される
vec[vec %% 2 == 0]   #2で割ったあまり0のものだけを取り出す

logical オペレーター

  • &:左右両方が TRUE であれば TRUE ,それ以外は全部 FALSE
  • |:左右どちらかが TRUE であれば TRUE
vec <- c(1:5)             #1,2,3,4,5 というベクトル
vec[vec >= 2 & vec <= 5]  #2以上かつ5以下だけ取り出される
vec[vec %% 2 == 1]        #奇数だけ取り出す(2で割ってあまり1)
apps/r/data.txt · 最終更新: 2023/10/16 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki