2012-11-19 36 views
-3

我有一些數據可以說明穿過一系列「大門」的颶風軌道。我將如何編碼它以輸出GateID,以及每個GateID在總數據幀中出現的次數?data.frame中元素的數量

track_id day hour month year rate gate_id pres_inter vmax_inter 
9 10 0 7 1 9.6451E-06 2 97809 23.545 
9 10 0 7 1 9.6451E-06 17 100170 13.843 
10 3 6 7 1 9.6451E-06 2 96662 31.568 
13 22 12 8 1 9.6451E-06 1 94449 48.466 
13 22 12 8 1 9.6451E-06 17 96749 30.55 
16 13 0 8 1 9.6451E-06 4 98702 19.205 
16 13 0 8 1 9.6451E-06 16 98585 18.143 
19 27 6 9 1 9.6451E-06 9 98838 20.053 

header <- read.table(fname_in, nrows=1) 
track <- read.table(fname_in, sep=',', skip=1) 
colnames(track) <- c("ID", "day", "month", "year", "hour", "rate", "gate_id", "pres_inter", "vmax_inter") 

我想,我想統計每個GATE_ID的發生,也可能輸出每個門的最大風速(vmax_inter)等....

+3

請提供更多的細節和一個可重複的例子。就像有些人喜歡相信它一樣 - 我們不是巫師,我們無法讀懂頭腦。 – Dason

+0

您的數據樣本將大大幫助 – Chargaff

回答

1

共讀你的心,因爲你提供沒有具體的繼續。但如果GateID是您的數據幀列之一,則可以使用plyr軟件包中的count獲得每個唯一GateID的其他參數的計數。

install.packages("plyr") 
library("plyr") 
count(mydf, vars = "GateID") 

安裝後請參閱?count瞭解更多詳情。

對於問題的第二部分,請參閱?aggregate並考慮公式接口。例如,

aggregate(gate_id ~ vmax_inter, data = mydf, FUN = max) 

或類似的東西。順便說一句,你可以結合你的兩個read.table步驟'read.csv`

+0

我不是downvoter,但爲什麼不使用'table(df $ GateID)'? – thelatemail

+0

'table'會大致相同,但我更喜歡'count'的格式。我確定我被拒絕接受一個不適當的提問。好吧。 –

+0

就像一個魅力!謝謝。 – kimmyjo221