0

問題を簡単に説明させてください。このようなデータセットを想像してください

data<- data.frame("Amino.acid" = c("TRPPS;PNSTED", "ERDDS", "PSRND", "SDEEN", "GSRTN"), 
                   "log2.ratio"=c(2.4,0,-1,-2,-1))

実際には、私のリストははるかに長く、たとえば 12000 行です。私が本当にやりたいことは、特定のアミノ酸パターンの頻度を取得し、密度と対数比をプロットすることです. したがって、たとえば、パターン RXXS はアミノ酸列で検出され、場合によっては配列が「;」で区切られます。パターン分析は両方に対して行う必要があります。

多くのlog2比に対してgsubやサブセット関数のような醜いものを考えることができますが、エレガントな解決策があるはずです。(たぶん密度関数で??)

最後に、特定のパターンの密度 (y) と log2raito (x) のプロットと、この特定のアミノ酸配列パターン以外のすべてのプロットを取得したいと思います。

4

1 に答える 1

0

私はデータフレームに「data」という名前を付けることに嫌悪感を持っているので、代わりに「pdat」という名前を付けました。

 barplot( table(pdat[ grep("R[A-Z]{2}S", pdat$Amino.acid), "log2.ratio"] ))

これは、その小さなデータセットで取得できるのとほぼ同じくらい具体的です。greppingパターンは「AARP;SNORE」に登録されません。

> grep("R[A-Z]{2}S","AARP;SNORE")
integer(0)

これは、補完行のプロットです(マイナス記号と同じように)。

barplot( table(pdat[ -grep("R[A-Z]{2}S", pdat$Amino.acid), "log2.ratio"] ))

それは密度ではないので、密度関数に到達することはあなたの努力を破滅させるでしょう。

于 2012-12-12T23:53:16.203 に答える