我有一组遵循粗略格式的事件数据:
Incident # Date Year State Criminal Offense Location
发生155k起事件。我想创建一组新的数据帧,将我的未分组数据分组(即,与此链接的第一步相反:http://ww2.coastal.edu/kingw/statistics/R-tutorials/descriptive.html)。我希望数据框与每个年份/每个州的最后两列每个分类计数的总数,"进攻"和"位置" (但每年只有一行 - 州组合)所以它将是2个独立的数据帧:
Year State Sum of Criminal Offense 1 Sum of Criminal Offense 2 Sum of Crim 3
和
Year State Sum of Location 1 Sum of Location 2 Sum of Location 3
目标是对各州的事件计数进行比较,或对特定国家某种犯罪类型的总事件进行时间序列预测。我可以从未分组的数据中轻松完成这项工作吗?是否存在资源或一些简要规则,哪些分析/预测方法对于分组与未分组数据最有效/最实用?
答案 0 :(得分:0)
以下是一种方法,使用table
计算实体,reshape
将其设置为所需的形式。
虚假数据:
d <- data.frame(Incident=1:4, Year=c(1,1,2,2), State=c('AL','MN','AL','MN'),Offense=c(1,1,1,2),Location=c(1,2,2,2))
d
## Incident Year State Offense Location
## 1 1 1 AL 1 1
## 2 2 1 MN 1 2
## 3 3 2 AL 1 2
## 4 4 2 MN 2 2
位置:
dl <- as.data.frame(xtabs(~Year+State+Location, data=d))
# dl <- as.data.frame(table(Year=d$Year, State=d$State, Location=d$Location))
reshape(dl, direction='wide', timevar='Location', idvar=c('Year', 'State'))
## Year State Freq.1 Freq.2
## 1 1 AL 1 0
## 2 2 AL 0 1
## 3 1 MN 0 1
## 4 2 MN 0 1
罪行:
do <- as.data.frame(xtabs(~Year+State+Offense, data=d))
# do <- as.data.frame(table(Year=d$Year, State=d$State, Offense=d$Offense))
reshape(do, direction='wide', timevar='Offense', idvar=c('Year', 'State'))
## Year State Freq.1 Freq.2
## 1 1 AL 1 0
## 2 2 AL 1 0
## 3 1 MN 1 0
## 4 2 MN 0 1