There is actually no need to mess with the data. R has a built-in plotting function for matrices, matplot.
We can already get a base plot using just:
matplot(t(gdp.ARG), type='l')

Or, for the Latin American countries:
matplot(t(gdp.LAT), type='l')

We can fine-tune this:
labs <- as.integer(sub('X', '', names(gdp.ARG)))
y10 <- labs %% 10 == 0
matplot(t(gdp.LAT), type='l', xaxt='n', yaxt='n', main='Latin America',
        xlab='Year', ylab='GDP p. cap.',  ylim=c(0, max(gdp.LAT, na.rm=TRUE)),
        panel.first={abline(v=seq_along(labs)[y10], lty=3, col='grey80');
          abline(h=seq.int(0, max(gdp.LAT, na.rm=TRUE), 5e3), lty=3, col='grey80')})
axis(2, axTicks(2), labels=paste(axTicks(2)/1e3, 'K'), tck=-.01, las=2)
axis(1, seq_along(gdp.LAT), labels=FALSE, tck=-.01)
axis(1, seq_along(gdp.LAT)[y10], labels=FALSE)
mtext(labs[y10], side=1, line=1, at=seq_along(labs)[y10])
legend('topleft', col=1:6, lty=1:5,
       legend=rownames(gdp.LAT)[-nrow(gdp.LAT)], ncol=4, cex=.8)  ## `col`ors and `lty`s as `matplot`, may not exceed 6*5=30 units, else use different strategy

Note, that Venezuela is missing in the data.
Data:
tmp <- tempfile()  ## open a tempfile connection
download.file(paste0('https://api.worldbank.org/v2/en/indicator/',
                     'NY.GDP.PCAP.KD?downloadformat=csv'), tmp)  ## download file from World Bank
dat <- read.csv(unz(tmp, 'API_NY.GDP.PCAP.KD_DS2_en_csv_v2_5607189.csv'), 
                skip=4)  ## read it
unlink(tmp)  ## close temp connection
head(dat)  ## look into `head` instead of using the silly `View`er
rownames(dat) <- dat$Country.Code  ## suitable, since we have distinct country codes
gdp.ARG <- dat[dat$Country.Code == 'ARG', c(5:67)]  ## extract ARG
gdp.LAT <- dat[dat$Country.Code %in% c("ARG", "BOL", "BRA", "CHL", "COL", "ECU",
                                       "GUY", "PER", "PRY", "SUR", "URY", 
                                       "VEN"), c(5:67)]  ## extract Latin America