R語言之描述性和探索性分析

來源:互聯網
上載者:User

標籤:產生   parent   mit   錯誤   pack   其他   也會   不同   rsa   

探索性分析簡稱EDA

一、基本描述性統計量
1.summary函數
可以得到最大值、最小值、中位元和均值

2.四分位元
四分位元可以通過quantile函數得到,diff得到各分位元的之差
> library(RSADBE)
> data("TheWALL")
> quantile(TheWALL$Score)
> diff(quantile(TheWALL$Score))

3.極值
range返回最大值和最小值

4.極差
diff(range())返回極差

5.四分位間距
IQR函數返回四分位間距

二、莖葉圖和長條圖

1.莖葉圖

可以使用base包的stem函數和alpack包的stem.leaf.backback函數實現

2.長條圖
長條圖可以通過hist函數和histogram函數實現,我們使用galton資料作為舉例
> data(galton)
> par(mfrow=c(2,2))
> hist(galton$parent,breaks="FD",xlab="Height of Parent", main="Histogram for Parent Height with Freedman-Diaconis Breaks",xlim=c(60,75))
> hist(galton$parent,xlab="Height of Parent",main= "Histogram for Parent Height with Sturges Breaks",xlim=c(60,75))
> hist(galton$child,breaks="FD",xlab="Height of Child", main="Histogram for Child Height with Freedman-Diaconis Breaks",xlim=c(60,75))
> hist(galton$child,xlab="Height of Child",main="Histogram for Child Height with Sturges Breaks",xlim=c(60,75))

此外,還有一些選項可以對長條圖進行設定,這些選項適用於大多數圖形命令
col:圖形顏色
main:圖形標題
xlab:X軸標題
ylab:Y軸標題
xlim:X軸範圍
ylim:Y軸範圍
break:設定長條圖的分割範圍
freq:邏輯選項,TRUE為產生頻率資料,FALSE為產生機率密度資料

三、密度函數圖
連續隨機變數更多都是通過密度函數圖來描述,通過density()函數,可以得到資料的密度估計,其結果是一系列x和y的座標,可以通過這些座標繪製密度函數圖,該函數的格式如下
density(data,bw="",kernel="",na.rm=FALSE)
其中,data要求為向量類型,bw為資料的密度核心估計,kernel為平滑種類,na.rm為對NA值的處理,預設為不移除NA值,但是如果出現NA,則結果會出現錯誤。


density()函數的結果為清單類型,可以通過$符號選擇結果中的變數。

可以通過plot(density())組合繪製密度函數圖,並通過lines()函數向圖形中添加線。


四、資料匯總

1.向量的匯總統計
max
min
length
sum
mean
median
sd
var
mad:得到中位元絕對偏差
summary:得到最大值、最小值、中位元和均值
quantile:得到分位元,預設是返回四分位元,可以自己修改
fivenum:得到最小值、四分位低值、中位元、四分位高值、最大值
cumsum:累積合計
cummax:累積最大值
cummin:累積最小值
cumprod:累乘

如果向量中存在NA值,那麼最終也會返回NA值,可以使用選項na.rm=TRUE將NA值忽略,其中length函數沒有na.rm選項,可以先使用na.omit()函數進行處理,如length(na.omit(data))


2.資料框的匯總統計
max
min
sum
fivenum
length:返回資料框的列數
summary:返回每一列的描述性數值
rowMeans
rowSums
colMeans
colSums
apply:可以將上述命令合并,格式為apply(X,MARGIN,FUN...)其中MARGIN為1或2,1表示行,2表示列FUN為計算方式,還可以定義na.rm=TRUE進行忽略NA值
prop.table(data,margin=1、2,FUN):返回每個數值的佔比,預設為總數佔比,margin=1為行佔比,margin=2為列佔比,FUN為設定的函數,
addmargins(data,margin=1、2,FUN):返回根據FUN計算的行或列的值,和prop.table類似,只不過這不是佔比,而是實際計算的數值。

3.矩陣的匯總統計

max
min
sum
fivenum
length:返回矩陣的儲存格數
summary:返回每一列的描述性數值
mean(data[,2]):計算第二列的均值
rowMeans
rowSums
colMeans
colSums
apply:
prop.table(data,margin=1、2):返回每個數值的佔比,預設為總數佔比,margin=1為行佔比,margin=2為列佔比。
矩陣和資料框類似,但是不同的是矩陣為一個整體,不能用$選擇單個列,因此sum等函數是對矩陣整體進行計算,可以使用[]進行選擇,其餘函數的基本用法和資料框類似。


4.列表的匯總統計
max(data$var)
min(data$var)
sum(data$var)
fivenum(data$var)
length:返回矩陣的儲存格數
summary:返回每一列的描述性數值
mean(data[,2]):計算第二列的均值
lapply:輸出資料行表類型的結果
sapply:輸出矩陣類型的結果

總的來說,列表的匯總統計函數和其他資料結構類似,但是不同的是每個都要使用$指定變數才行,此外,apply()函數不能使用列表,需要使用其變種lapply和sapply,二者只是輸出結果的資料類型不同而已。

5.表格的匯總統計

max
min
sum
fivenum
length:返回資料框的列數
summary:返回每一列的描述性數值
rowMeans
rowSums
colMeans
colSums
apply
prop.table(data,margin=1、2):返回每個數值的佔比,預設為總數佔比,margin=1為行佔比,margin=2為列佔比。

R語言之描述性和探索性分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.