我有一個相對較大的數據集(16,000 + x〜31)。換句話說,它足夠大,我不想在Excel中逐行處理它。該數據是這種形式:如何根據R中其他列中的值添加計數列
block site day X1 X2
1 1 1 0.4 5.1
1 1 2 0.8 1.1
1 1 3 1.1 4.2
1 2 1 ... ...
1 2 2
1 2 3
2 3 1
2 3 2
2 3 3
2 4 1
2 4 2
2 4 3
正如你可以看到,網站數是連續的,但我想在網站數量與每塊重設一列。例如,我想這樣的事情如下:
block site day X1 X2 site2
1 1 1 0.4 5.1 1
1 1 2 0.8 1.1 1
1 1 3 1.1 4.2 1
1 2 1 ... ... 2
1 2 2 2
1 2 3 2
2 3 1 1
2 3 2 1
2 3 3 1
2 4 1 2
2 4 2 2
2 4 3 2
我想使用R函數RLE,但我不知道這是否會因爲與天併發症的工作。否則,我會嘗試這樣的:
Data$site2 <- sequence(rle(Data$block)$lengths)
有沒有人有任何建議增加列計數(序列)每個塊內的網站數量?如果有幫助,每個站點的記錄天數(263)相同,但每個站點的站點數量不同。
謝謝你,這完美地工作。我以前見過plyr,但從未使用它。 ddply是完美的,我實際上想要分解矩陣,在幾天內使用reshape(= wide),應用rle(site),然後嘗試重塑(= long)。我不知道這是否會奏效,但我認爲有大約1000個更簡單的方法可以做到這一點。我喜歡dpdply解決方案。再次感謝。 – djhocking 2011-12-18 16:25:03
不錯的一個,只是嘗試了類似的問題ddply選項,第一次完美工作 – Ell 2013-06-12 09:10:26