假設我有一個包含2個變量的數據框,我試圖運行一些基本的彙總統計信息。我想運行一個循環來給我每個唯一的數字值的最小和最大秒數值之間的差異。我的實際數據框很龐大,包含很多'數字'的值,所以單獨進行子集和運行並不是一個現實的選擇。數據是這樣的:如何在同一數據的不同部分上運行循環。框架
df <- data.frame(number=c(1,1,1,2,2,2,2,3,3,4,4,4,4,4,4,5,5,5,5),
seconds=c(1,4,8,1,5,11,23,1,8,1,9,11,24,44,112,1,34,55,109))
number seconds
1 1 1
2 1 4
3 1 8
4 2 1
5 2 5
6 2 11
7 2 23
8 3 1
9 3 8
10 4 1
11 4 9
12 4 11
13 4 24
14 4 44
15 4 112
16 5 1
17 5 34
18 5 55
19 5 109
我當前的代碼只返回整個數據FRAM的最小值和最大值秒之間的差值:
ZZ <- unique(df$number)
for (i in ZZ){
Y <- max(df$seconds) - min(df$seconds)
}
爲什麼你需要一個循環?在這裏聚合可能會更好。或者任何'按照某種事情做'某些事情的庫,比如dplyr或data.table。 – Heroka
謝謝@賀岡。雖然下面的代碼完全符合我想要的內容,但該線程應該證明是有用的。 –