ryamadaの遺伝学・遺伝統計学メモ このページをアンテナに追加 RSSフィード

数学・コンピュータ関連の姉妹ブログ『ryamadaのコンピュータ・数学メモ』
京都大学大学院医学研究科ゲノム医学センター統計遺伝学分野のWiki
講義・スライド
医学生物学と数学とプログラミングの三重学習を狙う学習ツール
駆け足で読む○○シリーズ
ぱらぱらめくるシリーズ
カシオの計算機
オンライン整数列大辞典

2016-07-19 データ処理初めの1歩(50分)

[][][]データ処理初めの1歩(50分)

  • 大学1回生に50分でデータ処理の「実務」を教えるとき
  • コンテンツ
    • 記録(スプレッドシート)
      • {0,1}
      • 連続値
    • Rへの読み込み・取り込み
    • 集計・記述統計
    • 視覚化
    • 検定
  • 記録(スプレッドシート、エクセル)
    • ファイル(アクセスしてダウンロード)
    • テキスト形式で保存しよう

f:id:ryamada22:20160719114905p:image

f:id:ryamada22:20160719114906p:image

#data1 <- read.table("data1.txt",header=TRUE)
data1 <- read.table("http://www.statgenet.med.kyoto-u.ac.jp/StatGenet/lectures/2016/MdPhDStatPrimer/Data1.txt",header=TRUE)
  • 中身を見てみよう
data1
  • 分割表にしてみる
data1.table <- table(tr=data1$Treatment,re=data1$Reaction)
data1.table
  • 分割表は検定してみる
chisq.test(data1.table)
fisher.test(data1.table)
  • 連続値データ
data2 <- read.table("http://www.statgenet.med.kyoto-u.ac.jp/StatGenet/lectures/2016/MdPhDStatPrimer/Data2.txt",header=TRUE)
  • 中身を見てみよう
data2
  • 箱ひげ図を描いてみる
boxplot(data2$Reaction ~ data2$Treatment)
  • 2群を別々のオブジェクトに格納してみる
data2.0 <- data2$Reaction[which(data2$Treatment==0)]
data2.1 <- data2$Reaction[which(data2$Treatment==1)]
  • 群ごとに値の様子を見る
hist(data2.0)
mean(data2.0)
min(data2.0)
max(data2.0)
median(data2.0)

summary(data2.0)
  • 検定してみる
t.test(data2.0,data2.1)
  • データを作って、回帰してみる
# サンプル数 n
n <- 100
# 遺伝子Xの発現量は、平均120、分散15だと言う
# 乱数でデータ生成する
m <- 120
v <- 15
x <- rnorm(n, m, sqrt(v))
hist(x)

# 遺伝子Yの発現量は、y = 2.4 x + 30の関係がありつつ、正規乱数誤差(平均0、分散 5)があると言う
a <- 2.4
b <- 30

m.r <- 0
v.r <- 5
y <- a * x + b + rnorm(n, m.r, v.r)
plot(x,y)
  • 回帰係数を計算してみる
cor(x,y)
  • 線形回帰をしてみる
lm.out <- lm(y ~ x)
lm.out
lm.out$coefficients
lm.coef <- lm.out$coefficients
plot(x,y)
abline(lm.coef[1],lm.coef[2],col="red")
points(x,predict(lm.out),pch=20,col="green")

[][][]超基礎の次に大事なこと:調べものをする:データ処理初めの1歩(50分)

  • データを取ったら図を描こう
  • 図を描きたいけれど、どう描いたらわからない
  • 画像検索を使う

[][][]超基礎の次に大事なこと:調べものをする-2:データ処理初めの1歩(50分)

[][][]プログラミングをする:データ処理初めの1歩(50分)

手軽にウェブで、無料で