将可变数量的行插入到数据框中

时间:2015-03-06 23:51:12

标签: r dataframe missing-data

我想在如何将空行插入数据帧方面提供一些帮助。要插入的数字将根据其他两列中的数据而有所不同。例如,我想填写代表网站的行,这些行未针对特定日期进行抽样。每个站点有10个重复。假设我有8天中只有1个站点被抽样,所以80个中缺少70行(7个站点×10个重复)。在其他日子里,我在一个站点中只有一个丢失的复制,所以我有79个完整的案例。然后,我需要用站点填写空行并复制信息,只将值列中的单元格留空。

理想的输出是创建一个平衡的数据帧,就好像在复制或站点级别没有丢失数据一样。我这样做是为了向使用SAS的同事展示我的分析。非常感谢您向非R用户展示R的强大功能!

1 个答案:

答案 0 :(得分:0)

我要编写一个例子,因为描述不是很好。

`%ni%`<-Negate(`%in%`)

sites<-seq(1,10) #say you have 10 sites
df<-data.frame(site=seq(1,9),a=rep(2,9),row.names=NULL) #on a particular day you only see 9 of them

for(i in sites){ #checking to see if all sites are represented

    if(i %ni% df$site){
        print('not in')
        df[nrow(df)+1,'site']<-i #going to insert the missing site # with missing rows

    }

}