0

让我快速解释一下这个问题。像这样画一个数据集

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

实际上,我的列表要长得多,比如说 12000 行。我真正想做的是获得特定氨基酸模式的频率,然后绘制密度与 log2ratio 的关系。因此,例如应该在氨基酸列中检测到模式 RXXS,有时序列用“;”分隔。并且应该对两者进行模式分析。

对于很多 log2 比率,我可以考虑一些丑陋的东西,比如 gsub 和子集函数,但应该有一个优雅的解决方案。(也许与密度函数??)

最后,我想为特定模式和除此特定氨基酸序列模式之外的所有其他模式的密度 (y) 与 log2raito (x) 绘制图表。

4

1 回答 1

0

我讨厌将数据框命名为“数据”,因此将其命名为“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"] ))

这不是一个密度,所以达到 hte 密度函数将注定你的努力。

于 2012-12-12T23:53:16.203 回答