时间:2021-05-20
今天在做一个列联表独立性检验的时候,总是无法处理好要求的数据类型,偶然的机会,看到了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函数实例讲解的文章就介绍到这了,更多相关R语言的xtabs函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
函数是一组组合在一起以执行特定任务的语句。R语言具有大量内置函数,用户可以创建自己的函数。在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及
函数是一组组合在一起以执行特定任务的语句。R语言具有大量内置函数,用户可以创建自己的函数。在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及
R语言的包是R函数,编译代码和样本数据的集合。它们存储在R语言环境中名为“library”的目录下。默认情况下,R语言在安装期间安装一组软件包。随后添加更多包,
R软件相关函数包与使用。实现网页信息的爬取,R语言的编写需要引用到xml2、rvest、dplyr、stringr等的函数包里的函数,故而下载这几个函数包,并且
R语言进行线性回归的拟合度。本文只是使用R做回归计算,查看拟合度等,不讨论R函数的内部公式在R中线性回归分析的函数是lm(),基本语法是一元回归:lm(y~x,