r语言table显示10

Python014

r语言table显示10,第1张

R语言数据分析利器data.table包—数据框结构处理精讲

2017-06-10

448

R语言数据分析利器data.table包—数据框结构处理精讲

R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度。因此,在对大数据处理上,使用data.table无疑具有极高的效率。这里我们主要讲的是它对数据框结构的快捷处理。 和data.frame的高度兼容 DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) 下面DT都是用这个data.table 可见它是属于data.table和data.frame类,并且取列,维数,都可以采用data.frame的方法。 DF = data.frame(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) DF DT identical(dim(DT), dim(DF)) # TRUE identical(DF$a, DT$a) # TRUE

table()的输出可以看成是一个带名字的数字向量。可以用names()和as.numeric()分别得到名称和频数:

>x <- sample(c("a", "b", "c"), 100, replace=TRUE)

>names(table(x))

[1] "a" "b" "c"

>as.numeric(table(x))

[1] 42 25 33

或者,可以直接把输出结果转化为数据框,as.data.frame():

>as.data.frame(table(x))

x Freq

1 a 42

2 b 25

3 c 33

作者:王冠嵩

链接:http://www.zhihu.com/question/46661384/answer/103506127

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

转自医学方

2019-07-4 Alexander

流行病学或者医学论文中,对研究对象基本情况的描述通常以表格的形式进行,并且放在结果部分的开头,即Table 1,主要内容是研究对象一般情况和研究变量或协变量的分组展示。

前几天文章修回过程中,花了两天时间分析数据,修改文章,其中有近1天的时间都在手动录入数据(从R studio里把分析结果整理到Excel或者word),这样除了花费时间外,还非常容易出错。之前一直想找时间通过R markdown把制作表格的过程程序化,可是效果并不理想。

这次痛定思痛,先从table 1开始,发现了几个不错的方法。其中一种个人觉得可读性和可编辑性都比较强,于是学习了一下,作为一个非常实用的工具分享给大家。

这里主要参考一篇博客Fast-track publishing using knitr: table mania,对细节进行了加工和注释。

1 数据的准备

数据主要来自于boot包的melanoma。加载后,看下数据的基本结构。

接下来对数据进行简单的整理,为后续分析做准备;

将分类变量定义为因子型并设置标签(这里建议设置一个新的变量,仅用于table 1的制作,不影响后续的分析);

2 安装和加载R包 Gmisc

后面两个包是加载“Gmisc”时要求加载的。

3 自定义函数、制作表格

根据已有函数自定义函数,并制作表格。定义一个函数,输入数据集的变量并得到该变量的统计结果:

函数定义完成后,建立一个空的列表,以储存每个变量的分析结果,并进行分析,将结果储存在列表中:

将所有结果merge到一个矩阵中,并建立rgroup(table1第一列的变量名) 和 n.rgroup(table 1第一列每个变量的行数):

结果如下:

当然,有些情况下,需要多加一个分组标题栏(column spanner),该怎么加呢?

如下:

结果如下:

4 导出结果

在R studio viewer窗口点击白色按钮,即可在浏览器中打开,然后复制粘贴到word可以进一步加工修饰。

是不是很刺激呢。

应该还有其他的导出方法,不过这个已经很方便了。

拓展功能选

⒈ 二分类变量只显示一个(比如男性和女性)。只要在getDescriptionStatsBy的"show_all_values"参数设置为FALSE即可;

⒉ 显示缺失值。getDescriptionStatsBy的"useNA"参数设置为"ifany",表示如果有缺失值就显示缺失值情况;如设置为“no”,表示始终不显示缺失值情况;“always”则表示无论是否有缺失值都显示缺失值情况;

⒊ Total一列是可以去掉的,getDescriptionStatsBy的"add_total_col"参数设置为FALSE即可。

不足之处

⒈ 差异性检验是采用非参的方法,虽然没有错,但是一般符合参数检验条件的数据还是要使用参数检验的方法,这里可以自行检验后再修改P-value;

⒉ Mean (SD)的展示形式有个括号感觉有点别扭,还不知道怎么去掉,有方法的小伙伴欢迎分享交流。

另外有一些其他的制作table 1的R包,比如table 1(R包的名字)包,tableone包,还有其他生成表格的R包(plyr等),个人浏览下来感觉这个最容易理解和掌握,其他包的功能有兴趣的可以再自行挖掘对比。

原文链接: https://mp.weixin.qq.com/s?src=11&timestamp=1562230826&ver=1707&signature=Og8lYPNfFi99QvnQb8OAtkTIo75N9G0JHqvpXxLS5aRpqRcnlgtxXJAMtfgxB8kAK8vinKSxdO6A1qxNy-4k8AyE9wUMYKSarBLDydWO-vazmCNPJIAa5GfaBiFIghaO&new=1