R语言的xtabs函数实例讲解

 更新时间:2021年03月16日 14:48:11   作者:yuanzhoulvpi  
这篇文章主要介绍了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语言的特点总结

    R语言的特点总结

    在本篇内容里小编给大家整理的是一篇关于R语言的特点总结内容,有需要的朋友们可以学习参考下。
    2021-03-03
  • R语言关于“包”的知识点总结

    R语言关于“包”的知识点总结

    在本篇文章里小编给大家分享的是一篇关于R语言“包”的知识点总结内容,有兴趣的朋友们可以学习下。
    2021-03-03
  • R语言中向量的加法和乘法运算

    R语言中向量的加法和乘法运算

    这篇文章主要介绍了R语言中向量的加法和乘法运算,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言数据可视化学习之图形参数修改详解

    R语言数据可视化学习之图形参数修改详解

    这篇文章主要给大家介绍了关于R语言数据可视化学习之图形参数修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言安装以及手动安装devtools的详细图文教程

    R语言安装以及手动安装devtools的详细图文教程

    R语言是一个强大的数据分析工具,其强大之处在于有各种各样的R包帮助其实现各种各样的功能,下面这篇文章主要给大家介绍了关于R语言安装以及手动安装devtools的相关资料,需要的朋友可以参考下
    2022-08-08
  • R语言中平均值、中位数和模式知识点总结

    R语言中平均值、中位数和模式知识点总结

    在本篇文章里小编给大家整理的是一篇关于R语言中平均值、中位数和模式知识点总结内容,有兴趣的朋友们跟着学习下。
    2021-05-05
  • R语言科学计数法介绍:digits和scipen设置方式

    R语言科学计数法介绍:digits和scipen设置方式

    这篇文章主要介绍了R语言科学计数法介绍:digits和scipen设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言strsplit函数用法深入详解

    R语言strsplit函数用法深入详解

    这篇文章主要介绍了R语言strsplit函数用法深入详解,代码实例讲解的很清晰,有感兴趣的同学可以研究下
    2021-03-03
  • R语言实现LASSO回归的方法

    R语言实现LASSO回归的方法

    这篇文章主要介绍了R语言实现LASSO回归的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言-summary()函数的用法解读

    R语言-summary()函数的用法解读

    这篇文章主要介绍了R语言-summary()函数的用法解读,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论