[问题] 判断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