我正在尝试将我的面板数据中的年度值扩展到年度季度值 . 这是每个季度重复的年度值 . 例如,我希望获得2000Q1,2000Q2,2000Q3,2000Q4,2001Q1,......,2001Q4的年度收入的重复值 . 因此数据框将是id,年度季度,收入 .
我使用两步法,但有一些问题需要处理 . 如果缺少季度起始值,那么我将需要季度缺失(NA) .
annual_data
person=c(1, 1, 1, 2, 2,2),
year=c(2010, 2011, 2012, 2010, 2011, 2012),
income=c(4, 10, 13, 1, NA, 30)
annual_data
person=c(1, 1, 1, 2, 2,2),
year=c(2010, 2011, 2012, 2010, 2011, 2012),
income=c(4, 10, 13, NA, NA, 30)
所以使用如下函数:
expand
years
quarters
x$quarter
merged % left_join(x, by=c('year', 'quarter'))
merged$person
return(merged)
然后我用了
zoo::na.locf
dplyr::mutate.
quarterlydata % group_by(person) %>% do(expand(.))
testdata % group_by(person) %>% mutate(ynew=zoo::na.locf(y))
但是没有多少运气,因为它从前面的非缺失值复制到所有缺失值 . 那是,
案例1:它复制了所有 Value ,因此第2人的收入1被复制到2010年和2011年 . 当必须复制到2010年时,2011年应该是NAs .
案例2:我明白了
Error: incompatible size (%d), expecting %d (the group size) or 1.
有关我失踪的地方的任何想法?
我正在尝试将我的面板数据中的年度值扩展到年度季度值 . 这是每个季度重复的年度值 . 例如,我希望获得2000Q1,2000Q2,2000Q3,2000Q4,2001Q1,......,2001Q4的年度收入的重复值 . 因此数据框将是id,年度季度,收入 .我使用两步法,但有一些问题需要处理 . 如果缺少季度起始值,那么我将需要季度缺失(NA) .情况1:annual_data person=c...
一行原来就处理过大量的气象
数据
,对于缺失的
数据
处理,我充满了同感
这里介绍一下,我们当时有哪几种方法处理
缺失值
直接删除,如果缺失
数据
量较大,直接舍弃该列
数据
,因为仅存的
数据
难以证明几列
数据
之间的相关性
上下填补法,取前后临近的
数据
进行插值
前后加权均值法,按照前后时间距离的远近进行加权取平均差值
相似值填补法,取其他相似环境的
数据
进行插值
线性
插值法,将相关
数据
拟合成一条函数,然后对
缺失值
进行插值
当然除了上面这五种,业内还有很多其它插值法,如下面这些
(1)人工填写(filling manual.
主要是通过R语言,对日期
数据
进行处理,并补全缺失
数据
rawdata<- read.csv("C:/Users/li/Desktop/ss.csv",fill=F)
#提取
数据
ss1,并组合
数据
-------------------------------
ts1<-rawdata$ts1
ts11<-as.Date(ts1,'%Y/%m/%d')
false<-is.na(ts11)
ts21<-ts11[!false]
ss1<-rawdata$SS1
ss1<-ss1[!false]
library(zoo)
data1<-zoo(ss1,ts21)
#补全不规则
数据
(时间的缺失和
缺失值
)
date1<-zoo(,seq(start(data1),end(data1),'day'))
datanew1<-merge(data1,date1)
datanew1[is.na(datanew1)]<-median(datanew1,na.rm = T)
#提取
数据
ss2
可以使用pandas库
中
的fillna()函数来进行
线性
填充
空值
。
假设你的
数据
框为df,需要
填充
的列为column_name,可以按照以下方式进行
线性
填充
空值
:
```python
df[column_name].fillna(method='pad', inplace=True)
其
中
,method='pad'表示使用前一行的值进行
填充
,inplace=True表示直接在原
数据
框
中
进行修改。如果需要使用后一行的值进行
填充
,可以将method参数改为'backfill'。