A short R session (一個簡短的R課程) 羅琪老師
澳大利亞人口資料 讀入一個包含自1917-1997年不同時間澳大利亞各州和地區的總人口數等人口指數的檔案到R,然後使用此檔案來建立一個圖表。該檔案的資料如下:
變數 Year-a numeric vector NSW-New South Wales population counts 新南威爾士州的人口數量 Vic-Victoria population counts 維多利亞州人口數量 Qld-Queensland population counts 昆士蘭州的人口數量 SA-South Australia population counts 南澳大利亞州的人口數量
變數 WA-Western Australia population counts 西澳大利亞州的人口數量 Tas-Tasmania population counts 塔斯馬尼亞州的人口數量 NT-Northern Territory population counts 新界北部地區的人口數量 ACT-Australian Capital Territory population counts 澳大利亞首都地區人口數量 Aust-Population counts for the whole country 澳大利亞全國人口數量
將資料檔案austpop.txt讀入R Year NSW Vic. Qld SA WA Tas. NT ACT Aust. > austpop<-read.table("c:/RData/austpop.txt", header=TRUE) > austpop Year NSW Vic. Qld SA WA Tas. NT ACT Aust. 1 1917 1904 1409 683 440 306 193 5 3 4941 2 1927 2402 1727 873 565 392 211 4 8 6182 3 1937 2693 1853 993 589 457 233 6 11 6836 4 1947 2985 2055 1106 646 502 257 11 17 7579 5 1957 3625 2656 1413 873 688 326 21 38 9640 6 1967 4295 3274 1700 1110 879 375 62 103 11799 7 1977 5002 3837 2130 1286 1204 415 104 214 14192 8 1987 5617 4210 2675 1393 1496 449 158 265 16264 9 1997 6274 4605 3401 1480 1798 474 187 310 18532 header=TRUE 代表有標題 austpop是一個data frame資料框架
畫1917年至1997年間澳大利亞首都特區(ACT)的人口 > plot(ACT ~ Year, data=austpop, pch=16) pch=16 sets the plotting character to a solid black dot 點的樣式為黑色實心點
data frame 的變數名稱 R程式中大小寫不同! > names(austpop) [1] "Year" "NSW" "Vic." "Qld" "SA" "WA" "Tas." "NT" "ACT" "Aust.“ > austpop$year NULL > austpop$Year [1] 1917 1927 1937 1947 1957 1967 1977 1987 1997 R程式中大小寫不同!
將資料檔案austpop放在工作目錄中 > ACT Error: object 'ACT' not found > austpop$ACT [1] 3 8 11 17 38 103 214 265 310 > attach(austpop) 要使用austpop這個data frame中的變數ACT austpop$ACT 利用attach(data frame名稱) 可省去每次打前面data frame的時間
On-line Help可以查詢指令用法help() > austpop$year NULL > austpop$Year [1] 1917 1927 1937 1947 1957 1967 1977 1987 1997 On-line Help可以查詢指令用法help() > help(plot)
將excel資料檔案austpop.csv讀入R > austpop1<-read.csv("c:/RData/austpop.csv") > austpop1 Year NSW Vic. Qld SA WA Tas. NT ACT Aust. 1 1917 1904 1409 683 440 306 193 5 3 4941 2 1927 2402 1727 873 565 392 211 4 8 6182 3 1937 2693 1853 993 589 457 233 6 11 6836 4 1947 2985 2055 1106 646 502 257 11 17 7579 5 1957 3625 2656 1413 873 688 326 21 38 9640 6 1967 4295 3274 1700 1110 879 375 62 103 11799 7 1977 5002 3837 2130 1286 1204 415 104 214 14192 8 1987 5617 4210 2675 1393 1496 449 158 265 16264 9 1997 6274 4605 3401 1480 1798 474 187 310 18532
建立data frame 上面資料是鬆緊帶的資料 stretch-拉的長度 distance-彈出的距離
建立data frame > elasticband <- data.frame(stretch=c(46,54,48,50,44,42,52), distance=c(148,182,173,166,109,141,166)) > elasticband stretch distance 1 46 148 2 54 182 3 48 173 4 50 166 5 44 109 6 42 141 7 52 166
在編輯視窗編輯資料 > elasticband <- edit(elasticband)
付出最多的人,也是收穫最多的人 ~共勉之~