如何在R中使用data.table对象创建带有求和功能的透视表?
要使用存储在R中data.table对象的数据创建带有求和功能的透视表,我们可以按照以下步骤操作:
首先,创建一个包含两个分类列和一个数值列的data.table对象。
然后,使用reshape2包中的dcast函数为存储在data.table对象中的数据创建透视表。
示例
创建data.table对象
让我们创建一个如下所示的data.table对象:
library(data.table)
Factor<-sample(c("I","II","III","IV","V","VI","VII"),25,replace=TRUE)
Level<-sample(c("Low","Medium","High"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(Factor,Level,Response)
DT输出
执行上述脚本后,将生成以下输出(此输出由于随机化而可能因系统而异):
Factor Level Response 1: III Low 82 2: IV Low 42 3: III High 87 4: IV High 97 5: IV Low 29 6: V Low 20 7: V Medium 50 8: II Low 23 9: I Low 26 10: V Medium 39 11: V Low 13 12: I High 92 13: I Low 74 14: III High 9 15: V Medium 61 16: II Medium 2 17: VI Medium 38 18: IV Medium 98 19: VI Low 76 20: I High 85 21: IV Low 91 22: II High 60 23: V Medium 71 24: IV High 8 25: I High 55 Factor Level Response
创建透视表
使用reshape2包中的dcast函数为存储在data.table对象DT中的数据创建透视表:
library(data.table)
Factor<-sample(c("I","II","III","IV","V","VI","VII"),25,replace=TRUE)
Level<-sample(c("Low","Medium","High"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(Factor,Level,Response)
library(reshape2) dcast(data=DT,formula=Factor~Level,fun.aggregate=sum,value.var="Response")输出
Factor High Low Medium 1 I 232 100 0 2 II 60 23 2 3 III 96 82 0 4 IV 105 162 98 5 V 0 33 221 6 VI 0 76 38
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP