Iは、各遺伝子名を繰り返し、2つの条件の値が含まれているdata.frame有する:は、データフレーム内の連続した行のペアbetwen差を計算 - R
df <- data.frame(gene=c("A","A","B","B","C","C"),
condition=c("control","treatment","control","treatment","control","treatment"),
count=c(10, 2, 5, 8, 5, 1),
sd=c(1, 0.2, 0.1, 2, 0.8, 0.1))
gene condition count sd
1 A control 10 1.0
2 A treatment 2 0.2
3 B control 5 0.1
4 B treatment 8 2.0
5 C control 5 0.8
6 C treatment 1 0.1
をIがあれば計算します治療後の「カウント」の増減であり、そのようにマークしたりサブセットしたりする。それは、(擬似コード)である:
for each unique(gene) do
if df[geneRow1,3]-df[geneRow2,3] > 0 then gene is "up"
else gene is "down"
それが最終的にどのように見えるか、この(最後の列はオプションです):
up-regulated
gene condition count sd regulation
B control 5 0.1 up
B treatment 8 2.0 up
down-regulated
gene condition count sd regulation
A control 10 1.0 down
A treatment 2 0.2 down
C control 5 0.8 down
C treatment 1 0.1 down
私は一緒に遊ん含め、これで私の脳をかき集めてきました私は解決策を見つけることに失敗しました - 不運な生物学者にしてください。
乾杯。
素晴らしい、それは働いた!私はddplyが答えの一部であるかもしれないと感じましたが、私はreg.funを考え出すことはないと思います。乾杯。 – fridaymeetssunday
@krespimそして、plyrとdata.tableを比較する行のペアをグループ化する[ベンチマーク](http://stackoverflow.com/revisions/11463757/3)があります。 –