Я новичок в программировании на R, поэтому этот вопрос может быть простым. Во всяком случае, я попытался найти какой-то ответ на эту конкретную вещь, которую я пытаюсь сделать, и не получил ее.
Итак, я пытаюсь импортировать новые данные, которые я получил, в мой старый data.frame. Проблема заключается в том, что эти данные должны заменить предыдущие значения NA в уже существующих переменных. Кроме того, мои данные имеют разных людей (компаний) в разные периоды (годы), и мой новый набор данных содержит только компании и годы, которые отсутствовали, плюс некоторые наблюдения, которые у меня уже были.
Я попытался смоделироватьпроблема с фреймами данных ниже:
фрейм данных с NA:
df1 <- data.frame( company = c(rep("A",3), rep("B",3), rep("C",3)),
year = c(rep(2016:2018,each=1)),
income = c(95,87,93,NA,NA,58,102,80,NA),
debt = c(43,50,51,NA,37,37,53,NA,NA),
stringsAsFactors= F )
Для поиска новых данных я создал набор данных только с отсутствующими данными, так как мои данные имели многоНаблюдения:
df_NA <- data.frame(df1[is.na(df1$income & df1$debt),])
Итак, после поиска я смог найти недостающие данные, и теперь у меня есть что-то вроде этого:
df2 <- data.frame( company = c("A", "B" , "C" , "C"),
year = c(2018, 2016, 2017, 2018),
income = c(60,55, 80, 82),
debt = c(32,37, 53,48),
stringsAsFactors= F )
Теперь я пытаюсь получить этоданные вместе, поэтому у меня есть полный data.frame для работы.
Проблема в том, что я пока не могу найти способ сделать это. Я пробовал объединять и объединять, индексируя для компании и года, но переменные с одинаковыми именами в data.frame дублируются и имеют суффикс.
В моих данных у меня гораздо больше наблюдений и переменных длязаполнить, поэтому я хочу найти способ, которым я могу сделать это с помощью команды. Также это произойдет снова в будущем, так что это будет очень полезно.
Извините, если на этот вопрос уже был дан ответ. Спасибо!