Maximaler Zeilenwert nach Gruppe auswählen

Ich habe versucht, dies mit meinen Daten zu tun, indem ich mir andere Beiträge angesehen habe, aber es wird immer wieder ein Fehler angezeigt. Meine Datennew sieht aus wie das:

id  year    name    gdp
1   1980    Jamie   45
1   1981    Jamie   60
1   1982    Jamie   70
2   1990    Kate    40
2   1991    Kate    25
2   1992    Kate    67
3   1994    Joe     35
3   1995    Joe     78
3   1996    Joe     90

Ich möchte die Zeile mit dem höchsten Jahreswert nach ID auswählen. Die gewünschte Ausgabe lautet also:

id  year    name    gdp
1   1982    Jamie   70
2   1992    Kate    67
3   1996    Joe     90

VonAuswählen von Zeilen, die den täglichen Maximalwert in R enthalten Ich habe Folgendes versucht, aber nicht funktioniert

ddply(new,~id,function(x){x[which.max(new$year),]})

Ich habe es auch versucht

tapply(new$year, new$id, max)

Aber das hat mir nicht die gewünschte Ausgabe gebracht.

Irgendwelche Vorschläge würden wirklich helfen!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage