我有一个犯罪数据集,变量很少,例如(ID,Year,Date,Arrest),现在我试图获取特定年份的逮捕数量,例如几年说(2001,2010,2015)如何计算通过使用表功能呢?
我尝试使用下面的代码,但没有得到令人满意的结果:
prop.table(table(CRDATA$Year,CRDATA$Arrest))
Run Code Online (Sandbox Code Playgroud)
和
prop.test(table(CRDATA$Year,CRDATA$Arrest))
Run Code Online (Sandbox Code Playgroud)
注意:数据集名称为CRDATA,年份为日期类型,逮捕为Logi数据类型
以下是数据集的一部分
ID Date Location Arrest Area Year
8951354 12/31/12 23:15 STREET FALSE 69 2012
8951141 12/31/12 22:00 STREET FALSE 24 2012
8952745 12/31/12 22:00 YARD FALSE 11 2012
8952223 12/31/12 22:00 STREET FALSE 67 2012
8951608 12/31/12 21:30 STREET FALSE 35 2012
8950793 12/31/12 20:30 STREET TRUE 19 2012
8950760 12/31/12 20:10 STREET FALSE 48 2012
8951611 12/31/12 20:00 STREET FALSE 40 2012
8951802 12/31/12 19:00 STREET TRUE 29 2012
Run Code Online (Sandbox Code Playgroud)
您需要指定所需的内容(总计,行,列):
set.seed(123)
dat=data.frame(Year=rep(2001:2010,10),Var=rnorm(100,200,50)>198)
prop.table(table(dat$Year,dat$Var)) #% of total
FALSE TRUE
2001 0.04 0.06
2002 0.06 0.04
2003 0.05 0.05
2004 0.04 0.06
2005 0.06 0.04
2006 0.03 0.07
2007 0.03 0.07
2008 0.05 0.05
2009 0.05 0.05
2010 0.06 0.04
prop.table(table(dat$Year,dat$Var),1) #% rows
FALSE TRUE
2001 0.4 0.6
2002 0.6 0.4
2003 0.5 0.5
2004 0.4 0.6
2005 0.6 0.4
2006 0.3 0.7
2007 0.3 0.7
2008 0.5 0.5
2009 0.5 0.5
2010 0.6 0.4
prop.table(table(dat$Year,dat$Var),2) #% columns
FALSE TRUE
2001 0.08510638 0.11320755
2002 0.12765957 0.07547170
2003 0.10638298 0.09433962
2004 0.08510638 0.11320755
2005 0.12765957 0.07547170
2006 0.06382979 0.13207547
2007 0.06382979 0.13207547
2008 0.10638298 0.09433962
2009 0.10638298 0.09433962
2010 0.12765957 0.07547170
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7660 次 |
| 最近记录: |