R语言学习笔记(一)

时间:2023-02-06 01:31:02

5.1 加载数据

加载名为 sample.csv 的数据并以 dat 为名称保存,其命令如下。

> dat <- read.csv ("sample.csv")


还可以用下述方法从对话框中选择文件。

> dat <- read.csv (file.choose())


5.2 table 函数

这是用来生成列联表的函数。

> table (dat)


 

    RES
SEX N Y
F 8 6
M 5 7


5.3 管道处理与 dplyr 程序包

现在我们用“管道处理”实现上面的效果。首先给 RStudio 安装 dplyr 程序包,添加额外功能。

dplyr 是数据科学家 Hadley Wickam{1[Hadley Wickham 是 RStudio 的首席科学家以及 Rice University 统计系的助理教授。他是著名图形可视化软件包 ggplot2 的开发者,以及其他许多被广泛使用的软件包的作者,代表作品如 plyr、reshape2 等。——译者注]} 开发的扩展功能,其中包含许多好用的函数,让 R 能够更高效直观地操作数据。它有一种奇特的功能——管道运算符。借助管道运算符,我们可以一次性执行一连串数据处理。dplyr 如今已受到全世界众多 R 用户的推崇,其普及率也在日益上升。

举个例子,用管道运算符求 1 到 6 的整数的平均值(这里将 mean(1:6) 视为传统方法)。

> library (dplyr)
> 1:6 %>% mean


 

[1] 3.5


有了这一功能,前面例子中的 table(dat) 可以改写成下面这样。各位可以想象成用 %> %(管道运算符)让数据从左边“流向”右边。

> dat %>% table


 

    RES
SEX N Y
F 8 6
M 5 7


5.4 chisq.test 函数

这是进行独立性检验(卡方检验)的函数。举个例子,现在要分析男女对 A 候选人的支持率是否相等。

> chisq.test (dat2)


 

    Pearson's Chi-squared test with Yates' continuity correction
data: dat2
X-squared = 0.15476, df = 1, p-value = 0.694


这里的 P 值超过了 5%,所以保留零假设“男女对 A 候选人的支持率是独立的”。

卡方检验同样可以通过管道处理来执行。这里我们借助正文中商业街调查问卷的例子,看看店主与顾客的意见之间是否具有显著偏差。其执行方法如下。

> survey <- read.csv("survey.csv")
> survey %>% select(立场, 回答6) %>% table %>% chisq.test


 

    Pearson's Chi-squared test
 
data: .
X-squared = 55.489, df = 3, p-value = 5.4e-12


结果不足 5%,所以抛弃零假设“顾客与店主的意见无显著偏差”,采信备择假设“顾客与店主的意见存在偏差”。使用管道运算符处理数据时,通常会连用多个 %>
%
。上面执行的命令就是一个典型。

「survey %>% select(立场, 回答6)  %>% table %>% chisq.test」


现在我们用文字给上面这一连串处理做个补充说明。

“数据名 %>% 选择待分析的列(select) %>% 生成列联表 (table) %>% 对列联表执行卡方检验”

5.5 Code3-1 生成条形图(P.108)

实际上,用下面这个命令就可以绘制出简单的条形图(即柱状图)。

plot (table1)