R語言與統計分析---湯銀才
關於R中的函式或關鍵字元
- 命令
> help(fun) 或 ?fun
會立即顯示名為“fun”函式的幫助頁
> apropos(fun) 或 apropos("fun")
找出所有在名字中含有指定字串“fun”的函式,但只會在被載入
記憶體中的程式包中進行搜尋.
> help.search("char")
列出所有在幫助頁面含有字元“char”的函式, 它的搜尋範圍
比apropos(“fun”)更廣
> find(fun) 或 find("fun")
得到名為“fun”函式所在的程式包
> args(fun) 或 args("fun")
得到名為“fun”函式的自變數列表.
資料的瀏覽與編輯
- 資料的瀏覽
> mtcars
顯示mtcars中的32個觀測值
> head(mtcars)
顯示資料集中前7行
> ==names==(mtcars)
僅顯示資料集中的變數,此處未是一個,也就是data.frame中的列名(INDEX )
- 資料的編輯
> ==data.entry==(mtcars)
通過R的資料編輯器開啟資料集mtcars, 除了瀏覽資料集外,這裡
我們還可以對變數及其觀測值進行修改.
> MTcars <- edit(mtcars)
同樣啟動R的資料編輯器, 在此可對原來的資料集mtcars進行編輯,
完成後將生成的新的資料集賦給MTcars, 而原來的資料集保持不變.
如果你要修改原來的資料集,使命令edit( )前後的資料集同名即
可. 因此命令edit
> xnew <- edit(data.frame( ))
可以編輯生成新的資料集xnew. 另外, 對於一維的資料, edit( )打
開的是R Editor. 試比較下面的例子中兩個命令的區別
> fix(mtcars) **等價於** > mtcars <- edit(mtcars)
可以完成資料集mtcars的直接修改. 因此它等價於命令
- 注意:
- 命令data.entry( )和edit( )都可用於編輯向量、矩陣、資料
框和列表,前者啟用的都是R的資料編輯器, 後者有所不同: 對於向量、
列表和陣列edit( )啟用的是R Editor. - 儘管我們在R中可以瀏覽與編輯資料集mtcars, 但它們還無法對此資料
集進行操作(分析), 例如命令
- 命令data.entry( )和edit( )都可用於編輯向量、矩陣、資料
> attach(mtcars)
無法看到變數mpg(每加侖公里數)的具體數值. 這時我們需要啟用或掛
接(attach)資料集mtcars. 命令
> attach(mtcars)
資料的屬性分析
- 變數cyl(汽缸數)為屬性變數, 命令
> table(cyl)
告訴我們變數cyl取3個值:4,6,8,相應的頻數為11, 7, 14. 而命令
> barplot(table(cyl))
顯示了cyl的頻數直方圖. 要注意的是, 命令
> barplot(cyl)
在此不適用, 它僅適用於數值型變數.
數值型資料的分析
統計分析中主要涉及數值型資料. 對此我們可考查它們的圖形特徵及常用
的特徵量.
- 畫莖葉圖(stem-and-leaf plot), 命令為
> stem(mpg)
10 | 44
12 | 3
14 | 3702258
16 | 438
18 | 17227
20 | 00445
22 | 88
24 | 4
26 | 03
28 |
30 | 44
32 | 49
- 畫直方圖, 命令為
> hist(mpg)
- 畫框須圖(stem-and-leaf plot), 命令為
> boxplot(mpg)
- 計算平均值, 命令為
>mean(mpg)
- 計算截去10%的平均值, 命令為
> mean(mpg, trim = .1)
- 按分組變數cyl計算mpg的分組平均值, 命令為
> tapply(mpg,cyl,mean)
4 6 8
26.66364 19.74286 15.10000
- 計算cyl為4的那些mpg的平均值, 命令為
> mean(mpg[cyl == 4]) - 計算四分位數的極差(interquartile range), 命令為
> IQR(mpg)
- 計算樣本常用的分位數: 極小、極大、中位數及兩個四分位數, 命令為
> quantile(mpg)
或者
> fivenum(mpg)
- 計算由向量prob給定的各概率處的樣本分位數, 命令為
> quantile(mpg, probs)
例如probs = c(0.1, 0.5, 99.5)/100. 可見, quantile( )比fivenum( )更
為一般.
- 計算常用的描述性統計量, 它們分別是最小值(Min.)、第一四分位數(1st
Qu.)、中位數(Median)、平均值(Mean)、第三分位數(3rd Qu.)和最大
值(Max.), 命令為
> summary(mpg)
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.40 15.43 19.20 20.09 22.80 33.90
- 計算標準差, 命令為
> sd(mpg)
- 計算中位絕對離差(median absolute deviation), 命令為
> mad(mpg)
尋找二元關係
- 畫二維散點圖, 例如cyl與mpg的散點圖, 可通過下面的命令得到.
> plot(cyl,mpg)
注意: 相仿命令
> plot(hp,mpg)
可得到hp與mpg的散點圖. 但32個點對應了不同的汽缸, 因此按**cyl為圖
例(不同cyl用不用符號區分)**作出散點圖更清晰, 命令為
> plot(hp,mpg,pch=cyl)
#> legend(250,30,pch=c(4,6,8),
#> legend=c("4 cylinders","6 cylinders","8 cylinders"))
> legend(250,30,pch=c(4,6,8),
legend=c("4 cylinders","6 cylinders","8 cylinders"))
圖例函式legend中的legend引數是必填,是標註每個圖例的名稱的