5.1 加載數(shù)據(jù)
加載名為sample.csv的數(shù)據(jù)并以dat為名稱保存,其命令如下性湿。
>dat<-read.csv("sample.csv")
還可以用下述方法從對(duì)話框中選擇文件贯莺。
>dat<-read.csv(file.choose())
5.2 table 函數(shù)
這是用來生成列聯(lián)表的函數(shù)重慢。
> table (dat)
RESSEX? N? Y? F86M57
5.3 管道處理與 dplyr 程序包
現(xiàn)在我們用“管道處理”實(shí)現(xiàn)上面的效果测僵。首先給 RStudio 安裝dplyr程序包票唆,添加額外功能望浩。
dplyr是數(shù)據(jù)科學(xué)家 Hadley Wickam{1[Hadley Wickham 是 RStudio 的首席科學(xué)家以及 Rice University 統(tǒng)計(jì)系的助理教授。他是著名圖形可視化軟件包 ggplot2 的開發(fā)者惰说,以及其他許多被廣泛使用的軟件包的作者,代表作品如 plyr缘回、reshape2 等吆视。——譯者注]} 開發(fā)的擴(kuò)展功能酥宴,其中包含許多好用的函數(shù)啦吧,讓 R 能夠更高效直觀地操作數(shù)據(jù)。它有一種奇特的功能——管道運(yùn)算符拙寡。借助管道運(yùn)算符授滓,我們可以一次性執(zhí)行一連串?dāng)?shù)據(jù)處理。dplyr如今已受到全世界眾多 R 用戶的推崇,其普及率也在日益上升般堆。
舉個(gè)例子在孝,用管道運(yùn)算符求 1 到 6 的整數(shù)的平均值(這里將mean(1:6)視為傳統(tǒng)方法)。
> library (dplyr)> 1:6 %>% mean
[1]3.5
有了這一功能淮摔,前面例子中的table(dat)可以改寫成下面這樣私沮。各位可以想象成用%> %(管道運(yùn)算符)讓數(shù)據(jù)從左邊“流向”右邊。
> dat %>% table
RESSEX? N? Y? F86M57
5.4 chisq.test 函數(shù)
這是進(jìn)行獨(dú)立性檢驗(yàn)(卡方檢驗(yàn))的函數(shù)和橙。舉個(gè)例子仔燕,現(xiàn)在要分析男女對(duì) A 候選人的支持率是否相等。
>chisq.test(dat2)
Pearson's Chi-squared test with Yates'continuity correctiondata: dat2X-squared =0.15476, df =1, p-value=0.694
這里的P值超過了 5%魔招,所以保留零假設(shè)“男女對(duì) A 候選人的支持率是獨(dú)立的”晰搀。
卡方檢驗(yàn)同樣可以通過管道處理來執(zhí)行。這里我們借助正文中商業(yè)街調(diào)查問卷的例子办斑,看看店主與顧客的意見之間是否具有顯著偏差外恕。其執(zhí)行方法如下。
>survey<-read.csv("survey.csv")>survey%>%select(立場(chǎng), 回答6) %>%table%>%chisq.test
Pearson's Chi-squared test
data: .
X-squared = 55.489, df = 3, p-value = 5.4e-12
結(jié)果不足 5%俄周,所以拋棄零假設(shè)“顧客與店主的意見無顯著偏差”吁讨,采信備擇假設(shè)“顧客與店主的意見存在偏差”。使用管道運(yùn)算符處理數(shù)據(jù)時(shí)峦朗,通常會(huì)連用多個(gè)%> %建丧。上面執(zhí)行的命令就是一個(gè)典型。
「survey %>%select(立場(chǎng), 回答6)? %>% table %>% chisq.test」
現(xiàn)在我們用文字給上面這一連串處理做個(gè)補(bǔ)充說明波势。
“數(shù)據(jù)名%>%選擇待分析的列(select)%>%生成列聯(lián)表(table) %>%對(duì)列聯(lián)表執(zhí)行卡方檢驗(yàn)”
5.5 Code3-1 生成條形圖(P.108)
實(shí)際上翎朱,用下面這個(gè)命令就可以繪制出簡(jiǎn)單的條形圖(即柱狀圖)。
plot(table1)