R语言_table()函数与因子变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言_table()函数与因子变量相关的知识,希望对你有一定的参考价值。
参考技术A今天在写一个求众数的函数,思路很简单:统计unique数值,并计算其频数,取最大值就是,函数如下:
众数值没有问题,但是此处出现了因子水平levels,函数最后一步提取的应该是[1,1]位置的数值才对。怎么出现因子水平呢???
首先检验下众数
问题出现在table函数上,table函数作用就是统计一组向量中unique元素的数量,具体参数请参照R帮助文件。R中这样解释table函数 , “ table uses the cross-classifying factors to build a contingency table of the counts at each combination of factor levels ”。 因此,table()返回的结果是带有因子水平的。
这时候,当然想把因子变量转换成数值变量, as.numeric() , 这时候神奇的事情发生了:
此处呼叫万能的网友,知乎博主[醉一心],CSDN博主[YaoRaoLov]给出了答案。参照以下博文:
https://zhuanlan.zhihu.com/p/147799787
https://ask.csdn.net/questions/707550?sort=comments_count
再来看下table()返回的数据框e
因子型变量在unclass()函数的作用下,显示出真面目:原来就是 一个个数值型变量 。
这也就是为什么对其进行数值型转化时会得到1,2,3,4等一系列数值的原因。
它的 真实值存储在Levels里面 。
上述众数函数修改为下
以上是关于R语言_table()函数与因子变量的主要内容,如果未能解决你的问题,请参考以下文章
R语言dataframe数据索引方式table函数计算两个分类变量的频率表使用with函数则可以不使用索引符号直接使用dataframe的变量变量因子化(factor)并查看summary统计
R语言使用table1包绘制(生成)三线表使用单变量分列构建三线表自定义为指定的分列因子添加分组标签编写自定义函数指定统计量的呈现方式
三线表是什么?R语言使用table1包绘制(生成)三线表使用单变量分列构建三线表编写自定义三线表结构(将因子变量细粒度化重新构建三线图)编写自定义函数在三线表中添加p值
R语言使用table1包绘制(生成)三线表使用单变量分列构建三线表编写自定义三线表结构(将因子变量细粒度化重新构建三线图)