-
Couldn't load subscription status.
- Fork 0
answer ex2
-
h <- women[,1] * 2.54w <- women[,2] * 0.454women2 <- data.frame(height=h, weight=w) -
women2[,2] / (women2[,1]/100)^2- 値は 24.05638 23.65213 23.45671 ... 22.19570 22.26216 となる。
-
-
男性で喫煙歴がある人のデータを抽出し、その行数を数える。
A %in% B(A がB の要素のうちどれかと一致する)を使う。cancer.subset <- subset(cancer, gender=="male" & smoking %in% c("former", "current")) nrow(cancer.subset)(→62 個)
-
cancer.subsetからgene1 の発現データを抜き出してその平均値をとる。mean(cancer.subset$gene1)(→11.44719)
-
タブ区切りテキストファイルとして保存。
write.table(cancer.subset, sep="¥t", file="cancer.subset.txt")
-
-
-
gene1とgene2の散布図を作成し、genderによって点を色分けする。-
解1)
x軸、y軸のデータを指定する一般的な書き方。xlab,ylabで、各軸のラベルを見やすく書き直している。plot(cancer$gene1, cancer$gene2, col=cancer$gender, xlab="gene1", ylab="gene2") -
解2) モデル式を使った書き方。
plot(gene2 ~ gene1, cancer, col=gender) -
(参考1) 解1 は
attachを使うと以下のように簡潔に書ける。attachは変数名をデータフレームからとる(変数名のサーチパスに加える)ことを指示する。attach(cancer) plot(gene1, gene2, col=gender) -
(参考2) プロットの色を変更したい場合は以下のような書き方がある。
color <- c("red", "blue") #色を1が赤、2が青に設定する plot(gene2 ~ gene1, cancer, col=color[gender])- (この動作を理解するために、
color[cancer$gender]を実行して見よ)
- (この動作を理解するために、
-
-
散布図に回帰直線を引く。まず
lmで線形モデルへのあてはめを行い、結果を変数(ex.lm)に格納する。それを用いてablineで回帰直線を引く。ex.lm <- lm(gene2 ~ gene1, cancer) abline(ex.lm) summary(ex.lm)
- 回帰直線の有意性については、
summaryで確認する。出力結果の最後の行からp-value は0.3965 と有意水準より大きいので、有意ではない。
-
-
gender によってデータを分割すると、stage による違いが観察されなくなった。これは、もともと観察されたstage III でのgene1 の発現量の減少は、stage III の患者がgene1の発現が低い女性に偏っているためであることを示唆している。このことは
subset(cancer, stage=="stage III")によって確認できる。 -
-
,ii :
cancerから5〜10 カラムを抜き出して変数exprに代入し、corを実行する。expr <- cancer[,5:10] cor(expr) -
相関係数の絶対値が0.5 以上であるかどうかは、以下のコマンドで調べられる。
abs(cor(expr)) >= 0.5
-
-
関数は以下の通り。ただし仮引数
xは(関数内で一貫していれば)どんな名前に置き換えてもよい。RMS(1:5)の値は 3.316625 となる。RMS <- function(x) { return( sqrt(mean(x^2)) ) } -
- プログラム中に2つある
plotコマンドのうち、最初のものは対角線上(x軸とy軸の名前が等しい場合)、2番目がそれ以外のプロットを作成する。タイトルやラベルを無視すると以下の通りになる。- (左上)
plot(cancer[,1]) - (2行1列目)
plot(cancer[,2], cancer[,1])
- (左上)
- タイトルやラベルまでつけると以下のようになる。
- (左上)
plot(cancer[,1], main=names(cancer[,1:4])[1]) - (2行1列目)
plot(cancer[,2], cancer[,1], xlab=names(cancer[,1:4])[2], ylab=names(cancer[,1:4])[1])
- (左上)
- プログラム中に2つある