2015-03-06 2 views
0

Мне нужна помощь в том, как вставлять пустые строки в dataframe. Количество вставки будет меняться в зависимости от данных, имеющихся в двух других столбцах. Например, я хотел бы заполнить строки, которые представляют собой сайты, которые не были отобраны на определенную дату. Каждый сайт имеет 10 реплик. Предположим, что у меня есть дни, в которых только 1 из 8 выбранных сайтов, так что 70 из них (7 сайтов x 10 реплицируются) из 80. В другие дни у меня есть только одна отсутствующая репликация внутри сайта, поэтому у меня есть 79 полных случаев , Затем мне нужно будет заполнить пустые строки сайтом и реплицировать информацию, оставив только ячейки в столбце значений пустым.Вставить переменное число строк в dataframe

Идеальный выход состоит в том, чтобы создать сбалансированный фрейм данных, как если бы отсутствовали данные на реплике или уровне сайта. Я делаю это, чтобы показать свой анализ коллеге, который использует SAS. Большое спасибо за то, что показал мне силу R для пользователя без R!

+0

Посмотрите на 'merge()' и 'rbind()'. –

+5

Мы предпочитаем воспроизводимые примеры над параграфами о данных –

ответ

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 

    } 

} 
Смежные вопросы