根据分组数据评估的条件替换缺失值

时间:2019-05-11 05:36:24

标签: r dataframe

我有一个大型数据框,其中包含列Year, ExporterImporterTradeValue

“年份”列包含表示年份(1970-2010)的整数。 Exporter和Importer列包含代表大约150个国家(“ USA”,“ CAN”,“ GBR”等)的字符串。 TradeValue列包含数字和NA。

对于每年的每个出口国,我希望将TradeValue的所有NA替换为零,但前提是至少有至少一行具有TradeValue的非NA值(对于该年的出口商)。 / p>

任何帮助表示赞赏。

编辑:

> dput(head(df))

structure(list(Year = c(1970L, 1970L, 1970L, 1970L, 1970L, 1970L
), Exporter = c("Afghanistan", "Afghanistan", "Afghanistan", 
"Afghanistan", "Afghanistan", "Afghanistan"), Importer = 
c("Afghanistan", 
"Albania", "Algeria", "American Samoa", "Andorra", "Angola"), 
TradeValue = c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
NA_real_)), row.names = c("1", "2", "3", "4", "5", "6"), class = 
"data.frame")

1 个答案:

答案 0 :(得分:1)

使用dplyr可以group_by YearExporter,如果存在NA非NA {{1 }}。

any