[問題] 判斷row的重複個數並做某個計算

作者: bedroom0204 (khkh)   2016-07-01 00:55:29
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
我有個眼動數據格式縮小後如下:
time type
200 1
201 1
206 1
211 1
216 1
220 1
222 1
774 2
776 2
780 2
784 2
787 2
814 6
819 6
820 6
824 6
829 6
1153 11
1160 11
1160 11
1163 11
1.
我想要搜尋各type值,各持續幾秒,
例如:此範例,type=1時,經過20秒;type=2時,經過13秒......
可以利用甚麼函數或寫法呢?
2.
在得到上述持續時間後,
可以怎麼把type=1,2,6,11取出,
並乘上各自的持續時間?
例如:type1=1*20、type2=2*13、type6=6*15...
這些type數字是會持續累積的,
time也會持續增加,但每列增加的幅度不一樣。
謝謝回答!
[關鍵字]:
row
作者: cywhale (cywhale)   2016-07-01 01:30:00
DT[,dif:=diff(range(time)),by="type"][,z:=dif*type]sorry I forgot to say I used library(data.table)and you can transfer by DT <- data.table(your_df)
作者: clansoda (小笨)   2016-07-01 09:52:00
我用你提到的dplyr寫了一個可以用的,你可以試試看dat %>% group_by(type) %>% summarise(timediff=max(time)-min(time)) %>% mutate(answer=timediff*type)
作者: celestialgod (天)   2016-07-05 18:56:00
可以找我文章的簽名檔,或是板上搜尋magrittr

Links booklink

Contact Us: admin [ a t ] ucptt.com