Я хотел бы решить эту проблему в R
У меня есть два фрейма данных с различным количеством строк, и для одного из столбцов они имеют одинаковое содержимое, но один из нихс большим количеством повторений. Я хотел бы продублировать строку в меньшем фрейме данных, чтобы каждый раз приспосабливаться к размеру большего фрейма данных.
Итак, скажем, столбцы, которые я хочу сравнить, выглядят следующим образом:
df_small$column2<-c("A", "B","C");
df_big$column3<-c("A", "B","B","B","C","C")
Я хотел бы повторить строки, содержащие B, два раза в df_small
, и повторить, как только строка, содержащая "C». Я пытался что-то вроде этого.
i=1
while (i <= nrow(df_big)) {
if (df_big$column3[i+1]==df_small[i,2]){
df_small<-rbind(df_small, df:small[i,1:2]) #df_small has two columns
i=i+1
} else{
i=i+1
next
}
}
Это не работает. Я не очень знаком с циклами в R и не знаю, в чем ошибка. Заранее спасибо за помощь!