0

Excelでcsv形式の次の表があります。

                    1       1       1       2     2         2
1415670_at  1   365.1   293.4   288.9   394.5   312     381.6
1415671_at  2   556.1   584.2   567.8   592.8   471.6   513.1
1415672_at  3   1048.3  763.1   1074.9  852.3   826.1   898.3
1415673_at  4   60.8    51.7    51.6    224     248.4   150.7
1415674_at  5   129.1   107.2   230.4   175.5   250.5   172.4

私は、アップレギュレーションとダウンレギュレーションされた遺伝子のリストを取得するためにSAMを使用しています。その目的のために、上記のファイルでタスクを実行するExcelプラグインがあります。私が抱えている問題は、このデータを分析するためにRを使用する必要があることです。これは、SAMRと呼ばれるパッケージがあるためです。最初の列にある名前のアップレギュレーションとダウンレギュレーションの遺伝子のリストを取得したいのですが、まったく成功しません。マニュアルはここから入手できます:http ://cran.r-project.org/web/packages/samr/samr.pdf 私が作成した小さなプログラムは次のとおりです。

filename<-"test.csv"
y<-c(1,1,1,2,2,2)           //I have to do this in this way, but I will extract the  
                            //first row from the csv file later
m<-read.csv(filename,sep=",",row.names=1)
t<-as.matrix(m)
samfit<-SAM(t,y,resp.type="Two class unpaired")

私が置くとき

print(samfit)

次のデータを取得しました。

Genes down
    Gene ID Gene Name Score(d) Numerator(r) Denominator(s+s0) Fold Change
[1,] g1753   1753      -2.025   -707.725     349.446           0.582      
[2,] g1375   1375      -1.038   -272.583     262.7             0.797      
[3,] g1302   1302      -0.955   -296.733     310.685           0.739      
[4,] g1598   1598      -0.923   -352.725     382.068           0.722      
[5,] g1500   1500      -0.913   -442.142     484.177           0.352

しかし、私は遺伝子名が必要であり、上にある遺伝子と下にある遺伝子のリストにあるその遺伝子IDは必要ありませんか?ありがとう

dput(m)は、次の情報を表示します。

structure(list(X.1 = 1:5、X1 = c(365.1、556.1、1048.3、60.8、129.1)、X1.1 = c(293.4、584.2、763.1、51.7、107.2)、X1.2 = c( 288.9、567.8、1074.9、51.6、230.4)、X2 = c(394.5、592.8、852.3、224、175.5)、X2.1 = c(312、471.6、826.1、248.4、250.5)、X2.2 = c(381.6 、513.1、898.3、150.7、172.4))、. Names = c( "X.1"、 "X1"、 "X1.1"、 "X1.2"、 "X2"、 "X2.1"、 "X2 .2 ")、class =" data.frame "、row.names = c(" 1415670_at "、" 1415671_at "、" 1415672_at "、" 1415673_at "、" 1415674_a_at "))

4

1 に答える 1

1

'その小さなデータセットでは、' Genes downマトリックスはNULLですが、これは'GenesUp'マトリックスの名前を取得する方法を示しています。

> rownames(m)[ as.numeric( samfit$siggenes.table$genes.up[ , "Gene Name"]) ]
[1] "1415674_a_at" "1415673_at"   "1415672_at"  

行名を参照するために、データフレームにあったものを名前(一連の数字)として使用する必要があります。あなたの完全なモデルフィットのために、あなたはあなたが望むものを手に入れるべきです:

rownames(m)[ as.numeric( samfit$siggenes.table$genes.lo[ , "Gene Name"]) ]

将来の調査のために、これは最初に'samfit'のクラスを調べ、次に次の名前の関数を探すことで発見できました。print.SAMoutput関連するコードを変更するgetAnywhereを使用する必要:::はなく、関数が非表示になっていないためです。

于 2012-11-21T23:12:13.430 に答える