我有一个大型数据框,其中包含列Year,
Exporter
,Importer
和TradeValue
。
“年份”列包含表示年份(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")
答案 0 :(得分:1)
使用dplyr
可以group_by
Year
和Exporter
,如果存在NA
非NA {{1 }}。
any