2014-02-15 27 views
0

我所試圖做的是從數據的配置是這樣的移調數據

SAMPLE ENTRY   Rep2 
4707890 23.323366  1 
4707890 23.320814  2 
4712037 33.1122   1 
4712037 33.1122   2 
4719912 3.01136   1 
4719912 3.0305   2 
4719912 3.01136   3 
4714257 81.5364   1 
4714257 86.20892366  2 

一個這樣

SAMPLE ENTRY   Rep2 1    2    3 
4707890 23.323366  1 23.323366  23.320814 
4707890 23.320814  2   
4712037 33.1122   1 33.1122   33.1122 
4712037 33.1122   2   
4719912 3.01136   1 3.01136   3.0305   3.01136 
4719912 3.0305   2   
4719912 3.01136   3   
4714257 81.5364   1 81.5364   86.20892366 
4714257 86.20892366  2 

從本質上說,與重複結果的樣品,在表中標識通過具有相同的樣品編號和連續複製數字,將它們的輸入值轉換成與第一個複製品相關聯的列。重複數可能會有所不同,但我從來沒有見過它超過12.

我懷疑它可以完成熔融/鑄造類型的過程,但迄今沒有喜悅。

謝謝。

回答

1

Alexis_laz:我已經找到了你把什麼讓我有一個變體:

DF2 < - 合併(DF ,dcast(DF,value.var =「ENTRY」,SAMPLE〜Rep2))。 DF2 [DF2 $ REP2> 1, - (1:3)] < - NA

出於某種原因, '重塑' 當應用於多光柱DF我想服從我的意志是給我的悲傷。

2

像這樣的事情看起來有效,至少與樣本數據:

DF2 = merge(DF, reshape(DF, direction = "wide", idvar = "SAMPLE", timevar = "Rep2")) 
DF2[DF2$Rep2 > 1, -(1:3)] <- NA 
DF2 
# SAMPLE ENTRY Rep2 ENTRY.1 ENTRY.2 ENTRY.3 
#1 4707890 23.32337 1 23.32337 23.32081  NA 
#2 4707890 23.32081 2  NA  NA  NA 
#3 4712037 33.11220 1 33.11220 33.11220  NA 
#4 4712037 33.11220 2  NA  NA  NA 
#5 4714257 81.53640 1 81.53640 86.20892  NA 
#6 4714257 86.20892 2  NA  NA  NA 
#7 4719912 3.01136 1 3.01136 3.03050 3.01136 
#8 4719912 3.03050 2  NA  NA  NA 
#9 4719912 3.01136 3  NA  NA  NA 
+0

+1!即將放棄同樣的事情!也許你可以添加一個訂單步驟來獲得所需的OP輸出! 'DT [order(DT $ SAMPLE,DT $ ENTRY,DT $ Rep2)]' – agstudy

+0

@agstudy:我不確定如何正確使用'order'來匹配確切的輸出。我只能想出'DF2 [命令(匹配(DF2 $ SAMPLE,唯一的(DF $ SAMPLE))),]'。隨意編輯,顯然! –

+0

謝謝。它絕對做我想要的虛擬數據,但我需要弄清楚如何將它應用於不同的數據集。目前給出的錯誤,但給了我希望。再次感謝。 –