R 如何完成缺少年份和空值的时间序列?

R 如何完成缺少年份和空值的时间序列?,r,dataframe,time-series,dplyr,R,Dataframe,Time Series,Dplyr,我正在处理时间数据。 数据包括与年份相关的频率值 data <- data.frame(year = c(1789,1791, 1795), Freq = c(12, 56, 67)) 我的想法:创建一个包含所有年份(包括零值)的表,并将其与我的数据合并 data2 <- data.frame (year = c(1789:1795), Freq = rep(0, 7)) data2你的想法很有道理。使用plyr的这种方法将有效: df1 <

我正在处理时间数据。
数据包括与年份相关的频率值

data <- data.frame(year = c(1789,1791, 1795),
               Freq =  c(12, 56, 67)) 
我的想法:创建一个包含所有年份(包括零值)的表,并将其与我的数据合并

data2 <- data.frame (year = c(1789:1795), Freq = rep(0, 7))

data2你的想法很有道理。使用plyr的这种方法将有效:

df1 <- join(data.frame(year = 1789:1795), df)  #Left join df years to all years 
df1[is.na(df1$Freq), "Freq"] <- 0              #Set NA to 0

df1使用dplyr和left_连接的方法:

 library(dplyr)

 data <- data.frame(year = c(1789,1791, 1795),
               Freq =  c(12, 56, 67)) 


 data2 <- data.frame (year = c(1789:1795)) # , Freq = rep(0, 7)



 all<- left_join(data2, data)

 all
库(dplyr)

数据感谢您的想法,请参阅我的解决方案,问题末尾的“想法”说明了有效的解决方案。我不认为问观众你的问题有什么意义。这和@oshun的答案有什么不同?
 library(dplyr)

 data <- data.frame(year = c(1789,1791, 1795),
               Freq =  c(12, 56, 67)) 


 data2 <- data.frame (year = c(1789:1795)) # , Freq = rep(0, 7)



 all<- left_join(data2, data)

 all