Stats

Popular Posts

Followers

Mathematica 教學 下載美國各州每季的失業率資料

戴忠淵 於 2013年7月27日星期六 上午12:27 發表
 作者  Chsianglin (.................)                        看板  Statistics  標題  [問題] 關於美國統計資料的尋找方法  時間  Fri Jul 26 22:15:26 2013 ───────────────────────────────────────  如提  我想請問一下 如果我想尋找美國各州每季的失業率資料  這樣的話  有人知道要去哪裡尋找嗎  因為我只能找到 每個年度的  想請問一下有人知道這東西哪裡找嗎  謝謝  -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.219.227.26


美國勞工局統計資料

將以下程式另存為文字檔,檔名test.txt,接下來利用wget下載。

data={"la.data.10.Arkansas","la.data.11.California",
"la.data.12.Colorado","la.data.13.Connecticut",
"la.data.14.Delaware","la.data.15.DC","la.data.16.Florida",
"la.data.17.Georgia","la.data.18.Hawaii","la.data.19.Idaho",
"la.data.2.AllStatesU","la.data.20.Illinois","la.data.21.Indiana",
"la.data.22.Iowa","la.data.23.Kansas","la.data.24.Kentucky",
"la.data.25.Louisiana","la.data.26.Maine","la.data.27.Maryland",
"la.data.28.Massachusetts","la.data.29.Michigan",
"la.data.3.AllStatesS","la.data.30.Minnesota",
"la.data.31.Mississippi","la.data.32.Missouri",
"la.data.33.Montana","la.data.34.Nebraska","la.data.35.Nevada",
"la.data.36.NewHampshire","la.data.37.NewJersey",
"la.data.38.NewMexico","la.data.39.NewYork",
"la.data.4.RegionDivisionU","la.data.40.NorthCarolina",
"la.data.41.NorthDakota","la.data.42.Ohio","la.data.43.Oklahoma",
"la.data.44.Oregon","la.data.45.Pennsylvania",
"la.data.46.PuertoRico","la.data.47.RhodeIsland",
"la.data.48.SouthCarolina","la.data.49.SouthDakota",
"la.data.50.Tennessee","la.data.51.Texas","la.data.52.Utah",
"la.data.53.Vermont","la.data.54.Virginia",
"la.data.56.Washington","la.data.57.WestVirginia",
"la.data.58.Wisconsin","la.data.59.Wyoming","la.data.60.Metro",
"la.data.61.Division","la.data.62.Micro","la.data.63.Combined",
"la.data.7.Alabama","la.data.8.Alaska","la.data.9.Arizona"};
link="ftp://ftp.bls.gov/pub/time.series/la/"<>#&/@data;
Run["wget "<>link[[#]]]&/@Range[Length@data]
Exit

打開終端機,執行 math -run "<<test.txt" 即可。


http://www.quandl.com/ 網站資料

(* 下載網站XML *)
templink=Import["http://www.quandl.com/economics/us-unemployment",{"XMLObject"}];

(* 擷取州名以及對應網址 *)
statename=Cases[templink,XMLElement["a",{"shape"->"rect","href"->state1_/;
(Length[Characters[state1]]==10&&StringMatchQ[state1,
"/FRED/"~~__~~"UR"])},{state2_}]:>{state2,state1},Infinity]

(* 根據州名時間區間擷取資料 *)
datalink[state_String,{startY_,startM_,startD_},{endY_,endM_,
endD_}]:=Block[{stateURL},
stateURL=Position[statename,state][[1,1]];
{statename[[stateURL,1]],
"http://www.quandl.com/api/v1/datasets"<>
statename[[stateURL,2]]<>".csv?&trim_start="<>startY<>"-"<>
startM<>"-"<>startD<>"&trim_end="<>endY<>"-"<>endM<>
"-"<>endD<>"&sort_order=desc"}]

mydownloaddata[
state_String,{startY_,startM_,startD_},{endY_,endM_,endD_}]:=
Block[{tempdata},
tempdata=Import[datalink[state,{startY,startM,startD},
{endY,endM,endD}][[2]]];
Flatten[{#,state}]&/@tempdata
]

(* 賓州今年上半年失業率 *)
mydownloaddata["Pennsylvania",{"2013","01","01"},{"2013","07","01"}]

(* 為避免連線被擋,兩次擷取時間間隔五秒 *)
mytestdata=(Pause[5];mydownloaddata[#,{"2000","01","01"},{"2013","07",
"01"}])&/@(statename[[All,1]][[1;;3]])

DateListPlot[mytestdata[[#]][[2;;-1]][[All,{1,2}]]&/@Range[Length@mytestdata],
PlotStyle->{PointSize[0.03]},Joined->True]

Tags: , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~