我有一個大的數據集是這樣的:R:應用功能,通過要素數據幀的每一行,在函數調用的值(由因子)
my.df <- data.frame(Cond= rep(c("A", "B", "C", "D"), each = 4),
Gene = rep(c("Gene1", "Gene2", "Gene3", "Gene4"), 4),
Avg=sample(85:100, 16, replace = TRUE),
SE=sample(1:5, 16, replace = TRUE),
Val1=sample(1:50, 16),
Val2=sample(1:50, 16))
現在,對於每個基因,我想正常化的一切(除「平均」的每個值,「SE」,「VAL1」和「VAL2」通過)爲電導率A的平均價值
我現在的想法是做這樣的事情:
by(my.df[ , 3:6], Gene, #since I want to do my calculation on each Gene
lapply(function(x) #since I want to do my calculation on each value
但我不知道如何編寫函數,以便它需要當前值爲x
,並將其除以該基因的Cond A Avg值。
或者,它發生在我,使含有基因和電導率一個平均數值的另一個數據幀:
CondAavg <- my.df[Cond =="A", c("Gene","Avg")]
,然後嘗試使用sapply的功能適用於「基因」的每個值,但我也不太清楚如何做這項工作。
我對R顯然還是很新的,所以任何建議都會非常感謝。
謝謝!這比我想要的要簡單得多,而且完成了這項工作。它確實出現在我的解決方案中,但我不知道如何使用合併來創建最後一列。 – phosphorelated