文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

R语言中xtabs函数的用法

2023-06-14 05:49

关注

这篇文章将为大家详细讲解有关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 freq1  yes  nan  342  yes   nv  383   no  nan  284   no   nv  50> (count22 <- xtabs(freq~.,data = exer6_2))#这个数据表示性别与性别是否有关   xinbieshifou nan nv  no  28 50  yes 34 38> assocstats(count22)          X^2 df P(> X^2)Likelihood Ratio 1.9830 1 0.15908Pearson     1.9802 1 0.15937<br>#这个p值为0.15937大于0.05,表示与性别没有关系 Phi-Coefficient  : 0.115Contingency Coeff.: 0.114Cramer'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万以下 东部  202 10万以下 中部  403 10万以下 西部  404  10~20万 东部  505  10~20万 中部  606  10~20万 西部  507  20~30万 东部  308  20~30万 中部  209  20~30万 西部  2010 30万以上 东部  4011 30万以上 中部  2012 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: count2X-squared = 29.991, df = 6, p-value = 3.946e-05

关于“R语言中xtabs函数的用法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯