生信者はこのようにR言語-ノートを学ぶべきだ.
7796 ワード
01.r言語およびrstudioエディタの紹介
rとrstudioをインストールしてrstudioエディタを開きます:4ブロック1.スクリプトを新規作成し、markdown、sourceコードを書き、どこでも次のステップに進みます.2.コマンドはconsoleで実行し、一歩一歩コードを実行し、上下左右のキーで履歴コマンド記録を見る.3.historyは履歴で、to sourceまたはto consoleで再実行できます.environment環境変数、付与された変数がこの位置に表示されます.4.filesはどのようなファイルがあるかまたはファイルplotを参照して描いた図を表示し、
現在のファイルの場所:
変数タイプ**1.ベクトルvector**
関数を使用してベクトルを作成するか、内蔵変数、左変数、右値を直接使用できます.数字は引用符をつけないで、文字列は引用符をつけます(*単引用符あるいは二重引用符は一般的に通用することができて、値の内で自身が単引用符を含む時、二重引用符を使う必要があります.例えば:
2.マトリクスmatixベクトル次元はマトリクス
4.
is.系列関数,as.系列関数は何の関数であるか,遷移はなぜ関数であるか(Tableキーで補完すると多くの関数が見られる)
質問方式新規フォルダを作成し、質問/エラーが必要な「.Rproj」とコード「.R」にエラーが表示された場所を入れて圧縮パッケージを送ります.変数がある場合は、エラーを報告する前に
5.リストリストリストは'$'でリストから取り出したのは要素で、データボックスから取り出したのは1列の
ひょうをはずすインデックス を返します.は、bの第3列の要素 を判断方式で取り外す.
リスト
03.外部データのインポート・エクスポート
読み込み1.直接import dataset 2.コードで
b第1列をbの行名として取り、第1列
読み込み時のフォーマットの変更を避けるため、R読み取りのフォーマットとして保存します.
04.中間変数操作
読み込みデータ
csvファイルを読み出し、行名を削除する2つの方法
表現マトリクス、異なる表現量
b中行の平均値をとる
関数を直接使用できる関数があります.定義された関数で操作できる関数はありません.
ベクトルは元素を取って直接下标を书いて、
top 50の分散に対応する遺伝子名熱図
05.熱図
異なるサイズのデータが基準に達し、異なる色の濃淡
熱図を描く
pheatmap学習、example
06.差異名の明らかな遺伝子の発現マトリックスを選択して熱図を描く
コードが長すぎる場合は、関数を定義してコードを包むことができます.必要に応じて、コード
07.id変換
08.任意遺伝子任意癌発現量グループの生存分析
一つの遺伝子はTCGAデータベースの中の各癌の生存分析のホームページの中で興味のある遺伝子を入力して、グループ(高低の発現量)、データをダウンロードして、Rstudioの中でデータを読み込んで、ggstatsplotパッケージの中のコードは分析します
GroupとExpressionを追加するには、エラーや認識しないようにコピーしたほうがいいです.基礎変数と関数の操作をマスターして、それからパッケージの説明書に対して学習を行って、データの応用
09.任意遺伝子任意癌発現量と臨床性状関連
Webページに興味のある遺伝子を入力し、データをダウンロードし、Rstudio
10.表現マトリックスのサンプルの相関
Bioconductorの3つのパケット:airway(パケット)、Annotatiobdbi(注釈パケット)、GenomicFeatures(機能関数パケット)
相関性が高い2つの状況を警戒する1.同じサンプル技術を繰り返す2.多くの数値は低発現値またはゼロであり、真実の相関性を隠す
rとrstudioをインストールしてrstudioエディタを開きます:4ブロック1.スクリプトを新規作成し、markdown、sourceコードを書き、どこでも次のステップに進みます.2.コマンドはconsoleで実行し、一歩一歩コードを実行し、上下左右のキーで履歴コマンド記録を見る.3.historyは履歴で、to sourceまたはto consoleで再実行できます.environment環境変数、付与された変数がこの位置に表示されます.4.filesはどのようなファイルがあるかまたはファイルplotを参照して描いた図を表示し、
dev.off()
はパネルpackagesを閉じてインストールされたすべてのパッケージを表示し、.libPaths()
はパッケージインストールパスHelpを表示してドキュメントを助けて実行関数exampleを表示し、この関数の使用方法を体得する現在のファイルの場所:
getwd()
02.R言語基礎変数説明変数タイプ**1.ベクトルvector**
a=c(1,2,3)
b=c(1,'2',3)
class()
変数タイプを表示(aはnumeric、bはcharacter)関数を使用してベクトルを作成するか、内蔵変数、左変数、右値を直接使用できます.数字は引用符をつけないで、文字列は引用符をつけます(*単引用符あるいは二重引用符は一般的に通用することができて、値の内で自身が単引用符を含む時、二重引用符を使う必要があります.例えば:
a='Hello World!'
とa="Hello World!"
の出力内容は同じです.b="This's a nice example."
とb='This's a nice example.'
はdim()
と違います.)2.マトリクスmatixベクトル次元はマトリクス
a[,]
次元であり、マトリクスのいずれかの要素タイプが変化し、他の要素のタイプも変化する.要素の取り方:1.下付きで取り、カンマの左が行、右が列class()
です.2.論理符号取得判定要素タイプ:str()
,data.frame()
3.配列array4.
save(filename,file='input.Rdata')
データ・ボックスは、1つの要素のタイプを変更します.他の要素のタイプは変更されません.is.系列関数,as.系列関数は何の関数であるか,遷移はなぜ関数であるか(Tableキーで補完すると多くの関数が見られる)
質問方式新規フォルダを作成し、質問/エラーが必要な「.Rproj」とコード「.R」にエラーが表示された場所を入れて圧縮パッケージを送ります.変数がある場合は、エラーを報告する前に
load(file='input.Rdata')
length()
と書き、loadの前のコードを注釈します(5.リストリストリストは'$'でリストから取り出したのは要素で、データボックスから取り出したのは1列の
lapply()
のどれだけの要素で、unlist()
は各要素に対して操作して、listを返して、as.numeric()
で戻り値をcharacterにして、b[,]
でそれを数値型に変えます.ひょうをはずす
b[,c(F,F,T,F,F,)]
カンマ左行右列を下付きで取得します.この要素がなければ、NAを返します.ある場合は、対応する要素read.table()
関数table grep()
#探索関数を読み出し、例grep('RNA-Seq',a$Assay_Type)
aのAssay_を探索するType列では、RNA-Seqを含む下付き文字を検索します.grepl()
#一致したすべての行を取り、TRUE/FALSE、例grepl('RNA-Seq',a$Assay_Type)
に戻るリスト
list[]
を取って元素を取って、元素の中の内容を取ることができなくて、出した元素はやはりリストで、もし[[*]][*]
で取り出したのが元素の中の内容ならば03.外部データのインポート・エクスポート
読み込み1.直接import dataset 2.コードで
read.table('filename',sep='\t',header = T)
#パラメータとパラメータをカンマで区切り、sepはタブを指定し、headerにヘッダーを付ける.write.csv()
#csvファイルとして読み出されるb第1列をbの行名として取り、第1列
row.names(b)=b[,1]
b=[,-1]
を除く読み込み時のフォーマットの変更を避けるため、R読み取りのフォーマットとして保存します.
04.中間変数操作
読み込みデータ
save(b,file = 'b_input.Rdata')
load(file = 'b_input.Rdata')
#手動でコメントを指定します.冒頭のcomment.char="!csvファイルを読み出し、行名を削除する2つの方法
read.table(filename,header = T,sep = '\t')
read.table(tablename,comment.char = "!",header = T,sep = '\t')
英文の単語は関数で、関数はパラメータがあって、互いに通じ合うwrite.csv(b,'tmp.csv',row.names=F)
#分類write.table(b,'tmp.csv',sep = ',')
#の最大値sort()
#の最小値max()
#は最小値を含んで、25%の分位数、中位数、75%の分位数、最大値min()
#は何個の要素fivenum()
#のグループを見てドメインの値を取って、boxplotでピークの数の先のグループを見ることができて、それぞれ値を割り当てて、"="は値を割り当てて、"="は判断で、table()
#aの中でAssay_typeの列におけるRna-Seqに対応する行boxplot(y~x)
#aにおけるAssay_typeという列のWXSに対応する行表現マトリクス、異なる表現量
rna=a[a$Assay_type=='Rna-Seq',]
#bの第1行の平均値が間違っていることを報告して、そのタイプwxs=a[a$Assay_type=='WXS',]
#が数値型の平均値str(mean(b[1,]))
#に変換されたことを見て、すべての行に対して平均値を取って、上位10個を見ますb中行の平均値をとる
mean(as.numeric(b[1,]))
#直接用関数head(rowMeans(b))
#用サイクルrowMeans(b)
#apply関数for (i in 1:nrow(b)){ print(mean(as.numeric(b[i,])))}
#は前と同じ関数を直接使用できる関数があります.定義された関数で操作できる関数はありません.
ベクトルは元素を取って直接下标を书いて、
apply(b,1,function(x){mean(x)})
とapply(b,1,mean)
は元素を取って[,]左は行を取って右は列を取りますtop 50の分散に対応する遺伝子名熱図
rowMax=function(x){apply(x,1,max)}
rowMax(b)
data.frame()
list()
cg=names(sort(apply(b,1,sd),decreasing = T)[1:50])
#ランダムに50個の分散を選択05.熱図
異なるサイズのデータが基準に達し、異なる色の濃淡
library(pheatmap)
#ランダム正規分布熱図を描く
a1=rnorm(100)
#dim
dim(a1)=c(5,20)
a2=rnorm(100)+2
dim(a2)=c(5,20)
#as.data.frame
b=as.data.frame(cbind(a1,a2))
#paste a1 a2 b ,
names(b)=c(paste('a1',1:20,sep = '_'),paste('a2',1:20,sep = '_'))
# pheatmap
library(pheatmap)
#
tmp=data.frame(group=c(rep('a1',20),rep('a2',20)))
rownames(tmp)=colnames(b)
pheatmap(b,cluster_cols = F) #cluster_cols = F
pheatmap学習、example
pheatmap(b[1:50,])
の表示06.差異名の明らかな遺伝子の発現マトリックスを選択して熱図を描く
# (normalization) , -scale- 。
n=t(scale(t(dat[cg,])))
n[n>2]=2#
n[n
pheatmap(sample(1:nrow(b),50))
#scale関数の使用方法の表示コードが長すぎる場合は、関数を定義してコードを包むことができます.必要に応じて、コード
rnorm(n, mean = 0, sd = 1)
を繰り返しないで直接書くことができます.07.id変換
# a V1 '.' , ‘.’
library(stringr)# stringr
str_split(a$V1,'[.]',simplify = T)[,1]# str_split() ,simplify=T ,F ,[,1]
library(org.Hs.eg.db)# org.Hs.eg.db
toTable()#org.Hs.eg.db toTable
# , / ,
merge(a,b,by='*',all.x=T)
# , 1
table(table(*)>1)
table(*)[table(*)>1]
#dataframe(d)
d=d[!duplicated(),]
#a b
match(a,b)
08.任意遺伝子任意癌発現量グループの生存分析
一つの遺伝子はTCGAデータベースの中の各癌の生存分析のホームページの中で興味のある遺伝子を入力して、グループ(高低の発現量)、データをダウンロードして、Rstudioの中でデータを読み込んで、ggstatsplotパッケージの中のコードは分析します
a=read.table('*.csv',header = T,sep = ',',fill = T)
ggbetweenstats(data=a,x='Group',y='Expression')
GroupとExpressionを追加するには、エラーや認識しないようにコピーしたほうがいいです.基礎変数と関数の操作をマスターして、それからパッケージの説明書に対して学習を行って、データの応用
09.任意遺伝子任意癌発現量と臨床性状関連
Webページに興味のある遺伝子を入力し、データをダウンロードし、Rstudio
?pheatmap
列名を導入して簡単な値を与え、datは前に書いたコードと一致し、コードを変更することなく直接実行できる(個人的な習慣)colnames(a)=c('id','stage','gene','mut')
dat=a
10.表現マトリックスのサンプルの相関
?scale()
関連関数# Bioconductor , R 3.5.0
if (!requireNamespace("BiocManager"))
install.packages("BiocManager")
BiocManager::install()
Bioconductorの3つのパケット:airway(パケット)、Annotatiobdbi(注釈パケット)、GenomicFeatures(機能関数パケット)
# , , , dim()
data(airway)
exprSet=assay(airway)
colnames(exprSet)
dim(exprSet)
# ,
cor(exprSet[,1],exprSet[,2])
相関性が高い2つの状況を警戒する1.同じサンプル技術を繰り返す2.多くの数値は低発現値またはゼロであり、真実の相関性を隠す
d_h
d_h(dat,group_list)
#サンプル を とする# , 5, dim() , dim()
x= exprSet[1,]
table(x>1)
true=1,false=0
sum(x>1)>5
exprSet= exprSet[apply(exprSet,1,sum(x>1)>5),1]
# ,edgeR::cpm() ,mad 50
# cor ,
M=cor(log2(exprSet+1))
# heatmap , (group_list) , ( , )tmp=data.frame(g=group_list)
rownames(tmp)=colnames(M)
library(pheatmap)
pheatmap(cor(exprSet),annotation_col = tmp)
11.チップ マトリックス
マトリクス、パケット の #
t.test(exprSet[1,]~ group_list)
boxplot(exprSet[1,]~ group_list)
# limma() , design , ( 1) ( 0)
12.RNA-seq マトリックス a=read.table('*.txt',header = T,sep = '\t',fill = T)
cor()
マトリックス、パケット 、cor(exprSet)
パケット :statquest