2
は、与えられた不完全なデータフレームdf
と完全なインデックスt
について:私の方法により、完全なインデックスに基づいて不完全なデータフレームにNA行を追加するにはどうすればよいですか?
t = seq(as.POSIXct("2016-01-01 00:05:00"), as.POSIXct("2016-01-01 01:00:00"), by = '5 min')
index<-t[c(1,2,4:7,9,12)]
a<-(1:8)
b<-(1:8)
df<-data.frame(index,a,b)
、不足している行は、次のコードで追加することができます。
index<-t #complete index
a<-vector('numeric',12)
a<-NA
b<-vector('numeric',12)
b<-NA
empty_df<-data.frame(index,a,b) # build an complete NA dataframe
for (i in 1:12) {
if(!(df$index[i]==empty_df$index[i]))
df<-rbind(rbind(df[1:i-1,],empty_df[i,]),df[i:length(df$index),])} # comparison and revison
しかし、私の解決策は二つの問題があります。
最初の行が見つからない場合は対処できません。
データフレームが大きい場合、コンピューティングには数時間かかることがあります。
私はそれに対処する簡単な方法があるのでしょうか?
から参加してこれを行うことができます。ところで、 'left_join(data.frame(index = t)、df)'は、あなたの 'data.frame(index = t)%>% left_join(。、df)'と同じですか? –
@ YQ.Wangはい、そうです。 dplyrでどのように連鎖できるかを示すために、 '%>% 'を使用しました。 – akrun