【发布时间】:2019-11-05 20:17:51
【问题描述】:
我是 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 中具有相同名称的变量会被重复和后缀。
在我的数据中,我有更多的观察和变量要填写,所以我想找到一种可以通过命令完成的方法。而且这种情况将来会再次发生,所以会很有帮助。
如果这个问题已经得到解答,我很抱歉。谢谢!
【问题讨论】: