我使用的變量列表下載和創建R. dataframes我想能夠使用此列表,在每個數據幀的變化不同的列多dataframes列,但我無法使用變量列表調用特定的列。使用列表改變中的R
countries= c("USA","CHN")
for (i in 1:length(countries)){
download.file(url[i],savedata[i])
assign(countries[i],xmlToDataFrame(savedata[i]))
}
現在我有dataframes看起來像這樣的:
head(USA)
indicator country date value decimal
1 GDP (current US$) United States 2012 15684800000000 0
2 GDP (current US$) United States 2011 14991300000000 0
3 GDP (current US$) United States 2010 14419400000000 0
4 GDP (current US$) United States 2009 13898300000000 0
5 GDP (current US$) United States 2008 14219300000000 0
6 GDP (current US$) United States 2007 13961800000000 0
而且我想經歷和做一些修改,如與as.date()
功能格式化日期列,或更改單位的價值列,但我希望能夠做到這兩個數據幀相同(或任意數字的情況下,我增加了國家的長度。
但是,每當我嘗試這樣做,我似乎可以使用ge的國家/地區列表在每個數據框內't'。我最初的猜測是把這樣的事情在一個循環:
assign(paste(countries[i],"date",sep="$"),
as.date(get(paste(countries[i],"date",sep="$")))
特別是,我感到困惑,如果我不是想怎麼get(paste(countries[i]))
作品獲得特定列日期,以及如何paste(countries[i],"date",sep="$")
打印正確的名稱,但我似乎無法得到我想操縱的那一列。
此外,我意識到循環是不這樣做的理想方式,但我一直有與應用功能同樣的問題,雖然我可能與他們有麻煩,由於我缺乏經驗。對於如何在循環中進行或不進行的建議,我們將非常感激。超級R新手在這裏,只是想學習。另外,如果你遇到一個明確的解釋/回答這個別的地方,我會很感激你指着我朝它。
您可能會發現更容易壓扁該結構將所有數據放入單個數據幀中。從@Ferdinand答案是使用數據幀列表下面你可以與命令數據幀堆疊起來的所有'減少(rbind,MYLIST)'。一旦你有一個數據幀只,格式化操作變得更加容易。 –