这篇文章主要介绍了R语言的xtabs函数实例讲解,文中讲解的很详细,有需要的可以参考下
今天在做一个列联表独立性检验的时候,总是无法处理好要求的数据类型,偶然的机会,看到了xtabs()函数,感觉很适合用来做列联表,适合将一列数据转换成列联表。
shifou <- c("yes","yes","no","no")
xinbie <- c("nan","nv","nan","nv")
freq <- c(34,38,28,50)
(exer6_2 <- data.frame(shifou,xinbie,freq))
(count22 <- xtabs(freq~.,data = exer6_2))#这个点表示shifou + xinbie,这个和lm()用法差不多
assocstats(count22)
运行过程与结果如下:
> shifou <- c("yes","yes","no","no")#是否逃课
> xinbie <- c("nan","nv","nan","nv")#性别
> freq <- c(34,38,28,50)
> (exer6_2 <- data.frame(shifou,xinbie,freq))#“nan”表示男,“nv”表示女,yes表示逃课,no表示不逃课
shifou xinbie freq
1 yes nan 34
2 yes nv 38
3 no nan 28
4 no nv 50
> (count22 <- xtabs(freq~.,data = exer6_2))#这个数据表示性别与性别是否有关
xinbie
shifou nan nv
no 28 50
yes 34 38
> assocstats(count22)
X^2 df P(> X^2)
Likelihood Ratio 1.9830 1 0.15908
Pearson 1.9802 1 0.15937<br>#这个p值为0.15937大于0.05,表示与性别没有关系
Phi-Coefficient : 0.115
Contingency Coeff.: 0.114
Cramer's V : 0.115
接下来,创建一个更加难的数据集
(价格 <- rep(c("10万以下","10~20万","20~30万","30万以上"),each = 3))
(地区 <- rep(c("东部","中部","西部"),each = 1,times = 4))
(数量 <- c(20,40,40,50,60,50,30,20,20,40,20,10))
(销售情况 <- data.frame(价格,地区,数量))
(count2 <- xtabs(数量 ~ (价格 + 地区),data = 销售情况))
运算过程:
> (价格 <- rep(c("10万以下","10~20万","20~30万","30万以上"),each = 3))
[1] "10万以下" "10万以下" "10万以下" "10~20万" "10~20万" "10~20万" "20~30万"
[8] "20~30万" "20~30万" "30万以上" "30万以上" "30万以上"
> (地区 <- rep(c("东部","中部","西部"),each = 1,times = 4))
[1] "东部" "中部" "西部" "东部" "中部" "西部" "东部" "中部" "西部" "东部" "中部"
[12] "西部"
> (数量 <- c(20,40,40,50,60,50,30,20,20,40,20,10))
[1] 20 40 40 50 60 50 30 20 20 40 20 10
> (销售情况 <- data.frame(价格,地区,数量))
价格 地区 数量
1 10万以下 东部 20
2 10万以下 中部 40
3 10万以下 西部 40
4 10~20万 东部 50
5 10~20万 中部 60
6 10~20万 西部 50
7 20~30万 东部 30
8 20~30万 中部 20
9 20~30万 西部 20
10 30万以上 东部 40
11 30万以上 中部 20
12 30万以上 西部 10
> (count2 <- xtabs(数量 ~ (价格 + 地区),data = 销售情况))
地区
价格 东部 西部 中部
10~20万 50 50 60
10万以下 20 40 40
20~30万 30 20 20
30万以上 40 10 20
可以看出这个count2也构成了这个列联表的形式,接下来,使用chisq.test()函数便可进行卡方检验
> chisq.test(count2)
Pearson's Chi-squared test
data: count2
X-squared = 29.991, df = 6, p-value = 3.946e-05
到此这篇关于R语言的xtabs函数实例讲解的文章就介绍到这了,更多相关R语言的xtabs函数内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:R语言的xtabs函数实例讲解
基础教程推荐
猜你喜欢
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- UEFI开发基础HII代码示例 2023-07-07
- asm基础——汇编指令之in/out指令 2023-07-06
- R包ggtreeExtra绘制进化树 2022-12-14
- swift 字符串String的使用方法 2023-07-05
- swift版webview加载网页进度条效果 2023-07-05
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23