2
これは私の例です。私はMDNカラムでR dplyr、異なる単位で行間の時間差
MDN Cl_Date time_diff
A 4/1/2017 14:47 0
A 4/1/2017 14:49 2.514216665
A 4/15/2017 15:10 20180.80745
B 4/3/2017 17:53 0
B 4/15/2017 15:17 11.89202041
B 4/30/2017 13:25 14.92171551
だから私のグループを持っているとCl_Date列の間の差を計算し、結果としてsample_data
library(dplyr)
txt <- c('"", "MDN", "Cl_Date"',
'"1", "A", "2017-04-15 15:10:42.510"',
'"2", "A", "2017-04-01 14:47:23.210"',
'"3", "A", "2017-04-01 14:49:54.063"',
'"4", "B", "2017-04-30 13:25:00.000"',
'"5", "B", "2017-04-03 17:53:13.217"',
'"6", "B", "2017-04-15 15:17:43.780"')
ts <- read.csv(text = txt, as.is = TRUE)
ts$Cl_Date <- as.POSIXct(ts$Cl_Date)
ts <- ts %>% group_by(MDN) %>% arrange(Cl_Date) %>%
mutate(time_diff = c(0,diff(Cl_Date)))
ts <-ts[order(ts$MDN, ts$Cl_Date),]
:私は、次のファイルを読んでいます。あなたは時には分単位で(グループA)、時には日単位で(グループB)異なることがあります。
なぜ異なる単位で時間差があり、それを修正するのですか?
P.S.手動のdata.frame
の作成で同じ例を再現できなかったので、ファイルから読み込む必要がありました。
更新1 diff(ts$Cl_Date)
は一貫しているようですが、すべてが分単位です。 dplyr
に何か問題がありますか?
UPDATE 2
ts <- ts %>% group_by(MDN) %>% arrange(Cl_Date) %>%
mutate(time_diff_2 = Cl_Date-lag(Cl_Date))
は同じ結果を生成します。
'df
Henrik
@Henrik同意します、ありがとうございます!さて、それはバグですか、 'dplyr'のバグを報告するにはどうすればいいですか? – user1700890
'dplyr'のバグではなく、' difftime'の仕組みです。私は、ヘルプテキストの関連部分は「units = "auto" 'なら、すべての絶対差が1より大きい、可能な最大の[...]単位の適切なセットが選択されていると思います。 – Henrik