library( dplyr)
df <- read.csv ( "typhoon.csv" )
# 因為當日24時與隔夜0時是同一個, 因此再產生一個新欄位Hour_new, 與Hour相同
# 但如果颱風跨日存在, 則Hour_new的最後一筆將變成24
dft <- df %>%
mutate( date = paste( Year, Month, Day, sep = "-" ) ,
date = as.Date ( date)
) %>%
group_by( CycloneNo) %>%
mutate( # 對每一列, 以下一列日期減去該列日期, 如果 = 1代表颱風跨日
daydiff = as.integer ( lead( date) - date) ,
# 由於最後一列的下一列不存在, 會有NA, 用0補NA
daydiff = ifelse( is.na ( daydiff) , 0 , daydiff) ,
# 如果某一列daydiff == 1, 將該列Hour轉換成24, 否則保留原來Hour
Hour_new = ifelse( daydiff == 1 , 24 , Hour)
) %>%
group_by( date) %>%
# 計算每天颱風存在的時數
# 由於有可能存在當天只有一筆 (Hour = 18), 但颱風跨日, 因此min從原本的Hour欄位取值
mutate( Hour_sum = max( Hour_new) - min( Hour) ) %>%
filter( Hour_sum >= 18 & row_number( ) == 1 ) %>%
ungroup( )
bGlicmFyeShkcGx5cikKCmRmIDwtIHJlYWQuY3N2KCJ0eXBob29uLmNzdiIpCgojIOWboOeCuueVtuaXpTI05pmC6IiH6ZqU5aScMOaZguaYr+WQjOS4gOWAiywg5Zug5q2k5YaN55Si55Sf5LiA5YCL5paw5qyE5L2NSG91cl9uZXcsIOiIh0hvdXLnm7jlkIwKIyDkvYblpoLmnpzporHpoqjot6jml6XlrZjlnKgsIOWJh0hvdXJfbmV355qE5pyA5b6M5LiA562G5bCH6K6K5oiQMjQKZGZ0IDwtIGRmICU+JQogIG11dGF0ZShkYXRlID0gcGFzdGUoWWVhciwgTW9udGgsIERheSwgc2VwID0gIi0iKSwKICAgICAgICAgZGF0ZSA9IGFzLkRhdGUoZGF0ZSkKICAgICAgICAgKSAlPiUKICBncm91cF9ieShDeWNsb25lTm8pICU+JQogIG11dGF0ZSgjIOWwjeavj+S4gOWIlywg5Lul5LiL5LiA5YiX5pel5pyf5rib5Y676Kmy5YiX5pel5pyfLCDlpoLmnpwgPSAx5Luj6KGo6aKx6aKo6Leo5pelCiAgICAgICAgIGRheWRpZmYgPSBhcy5pbnRlZ2VyKGxlYWQoZGF0ZSkgLSBkYXRlKSwKICAgICAgICAgIyDnlLHmlrzmnIDlvozkuIDliJfnmoTkuIvkuIDliJfkuI3lrZjlnKgsIOacg+aciU5BLCDnlKgw6KOcTkEKICAgICAgICAgZGF5ZGlmZiA9IGlmZWxzZShpcy5uYShkYXlkaWZmKSwgMCwgZGF5ZGlmZiksCiAgICAgICAgICMg5aaC5p6c5p+Q5LiA5YiXZGF5ZGlmZiA9PSAxLCDlsIfoqbLliJdIb3Vy6L2J5o+b5oiQMjQsIOWQpuWJh+S/neeVmeWOn+S+hkhvdXIKICAgICAgICAgSG91cl9uZXcgPSBpZmVsc2UoZGF5ZGlmZiA9PSAxLCAyNCwgSG91cikKICApICU+JQogIGdyb3VwX2J5KGRhdGUpICU+JQogICMg6KiI566X5q+P5aSp6aKx6aKo5a2Y5Zyo55qE5pmC5pW4CiAgIyDnlLHmlrzmnInlj6/og73lrZjlnKjnlbblpKnlj6rmnInkuIDnrYYgKEhvdXIgPSAxOCksIOS9humisemiqOi3qOaXpSwg5Zug5q2kbWlu5b6e5Y6f5pys55qESG91cuashOS9jeWPluWAvAogIG11dGF0ZShIb3VyX3N1bSA9IG1heChIb3VyX25ldykgLSBtaW4oSG91cikpICU+JQogIGZpbHRlcihIb3VyX3N1bSA+PSAxOCAmIHJvd19udW1iZXIoKT09MSkgJT4lCiAgdW5ncm91cCgp
stdout
stderr
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
Error in file(file, "rt") : cannot open the connection
Calls: read.csv -> read.table -> file
In addition: Warning message:
In file(file, "rt") :
cannot open file 'typhoon.csv': No such file or directory
Execution halted