我有一个包含61个国家/地区名称的面板数据和一个名为tradeofgdp的变量,它表示gdp的交易比例。我想知道每个国家/地区的tradeofgdp(gdp的最大交易额)的最大值。我的数据目前看起来像这样:
country year tradeofgdp
Algeria 1990 0.5
Algeria 1991 0.7
Algeria 1992 0.8
Algeria 1993 0.9
Algeria 1994 0.45
Egypt 1997 0.2
Egypt 1998 0.6
Egypt 1999 0.7
Egypt 2000 0.4
Egypt 2001 0.6
Egypt 2002 0.8
China 1990 0.5
China 1991 0.2
China 1992 0.3
China 1993 0.32
China 1994 0.4
我希望子集化后的数据如下所示:
country year tradeofgdp
Algeria 1993 0.9
Egypt 2002 0.8
China 1990 0.5
是否有办法为每个国家/地区提取最大值?
答案 0 :(得分:0)
此? (df
是您的数据框)
merge(df,aggregate(tradeofgdp~country,df,max))
# country tradeofgdp year
# 1 Algeria 0.9 1993
# 2 China 0.5 1990
# 3 Egypt 0.8 2002
如果某个国家/地区的最大值出现在多年内,您将获得该国家/地区的多条记录。