“问题里的‘经常’缺乏一个具体标准,几次才算经常?
应该问‘您平均 1 周来商业街购物几次?’才对,而且要把回答设置成‘几乎每天’‘1 周 2 ~ 3 次’‘1 周 1 次’‘其他’这种形式。
数据源:http://labfile.oss.aliyuncs.com/courses/873/code03.tar.gz
> dat <- read.csv("sample.csv")
> dat
SEX RES
1 F Y
2 F N
3 M Y
4 F N
5 M N
6 F Y
7 M N
8 M Y
9 M N
10 F N
11 M Y
12 F N
13 F Y
14 M Y
15 F N
16 M Y
17 F N
18 F Y
19 F Y
20 F N
21 M N
22 F Y
23 M N
24 M Y
25 M Y
26 F N
关联表
> table(dat)
RES
SEX N Y
F 8 6
M 5 7
> library(tidyverse)
-- Attaching packages --------------------------------------- tidyverse 1.3.0 --
√ ggplot2 3.3.1 √ purrr 0.3.4
√ tibble 3.0.1 √ dplyr 0.8.5
√ tidyr 1.1.0 √ stringr 1.4.0
√ readr 1.3.1 √ forcats 0.5.0
-- Conflicts ------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
Warning messages:
1: 程辑包‘tibble’是用R版本3.6.3 来建造的
2: 程辑包‘tidyr’是用R版本3.6.3 来建造的
3: 程辑包‘purrr’是用R版本3.6.3 来建造的
4: 程辑包‘dplyr’是用R版本3.6.3 来建造的
5: 程辑包‘forcats’是用R版本3.6.3 来建造的
> library(dplyr)
> dat %>% table
RES
SEX N Y
F 8 6
M 5 7
> dat2 <- dat %>% table
> dat2
RES
SEX N Y
F 8 6
M 5 7
独立性检验(卡方检验)
> chisq.test(dat2)
Pearson's Chi-squared test with Yates' continuity correction
data: dat2
X-squared = 0.15476, df = 1, p-value = 0.694
> dat2 %>% chisq.test
Pearson's Chi-squared test with Yates' continuity correction
data: .
X-squared = 0.15476, df = 1, p-value = 0.694
统计学以卡方值为基准判断列联表中的数值是否存在偏差。
从这次输出的结果来看,由于卡方值很小,可以认为表中不存在偏差。
卡方统计量这个值是 0.15476,出现这么大偏差的概率为 p-value=0.694。通过数据分析进行检验时,我们以‘这个概率到不到 5%’为判断基准。如果不足 5%,就认为它存在显著偏差。
> survey <- read.csv(file.choose())
> survey
立场 回答6 回答7
1 顾客 商品齐全 无回答
2 顾客 商品齐全 无回答
3 顾客 商品齐全 传统吉祥物
4 顾客 商品齐全 萌系美少女
5 顾客 商品齐全 萌系美少女
6 顾客 商品齐全 传统吉祥物
7 顾客 商品齐全 萌系美少女
8 顾客 商品齐全 萌系美少女
9 顾客 商品齐全 传统吉祥物
10 顾客 商品齐全 无回答
...
> table1 <- survey %>% select(立场, 回答6) %>% table
> table1
回答6
立场 促销 服务态度好 活动 商品齐全
店主 11 9 38 42
顾客 39 35 11 18
> library(ggplot2)
> table1 %>% as.data.frame %>% ggplot(aes(x=立场, y=Freq, fill=回答6)) + geom_bar(stat="identity") + ylab("人数")
image.png
> survey %>% select(立场, 回答6) %>% table %>% chisq.test
Pearson's Chi-squared test
data: .
X-squared = 55.489, df = 3, p-value = 5.4e-12
先提出假设,然后再进行问卷调查或实验来检验假设。
> survey %>% select(立场, 回答7) %>% table
回答7
立场 传统吉祥物 萌系美少女 无回答
店主 3 97 0
顾客 39 36 28
数据分析有一个很简单的标准,只要列联表中存在不足 5 的频数,就要尽量避免使用卡方检验。
顾客的回答基本是两边一样多,选哪个都不合适。有这么多问卷压根没填答案,证明顾客对这东西并不感兴趣。结合刚才的回答 6 来看,他们期待的反而是促销。
网友评论