将数据框中的数据框拆分为同一数据框中的列

时间:2016-08-13 00:06:48

标签: r dataframe

我已经通过mongolite $aggregate方法创建了一个数据框。我在查询中的两列聚合,所以现在我的结果DF在数据帧中有一个数据帧。如何将这两个列(年和月)拆分到“外部”数据框partOneCrimeDF中的各自列中?作为旁注,当我在单个列上执行mongolite aggregate时,数据框中的数据框只是一列,因此很容易拆分。这是我的数据显示:

> str(partOneCrimeDF)
'data.frame':   38 obs. of  2 variables:
 $ _id  :'data.frame':  38 obs. of  2 variables:
  ..$ year : int  2015 2015 2015 2015 2015 2015 2015 2015 2014 2014 ...
  ..$ month: int  8 7 6 5 4 3 2 1 12 11 ...
 $ count: int  457 1733 1632 1674 1554 1399 955 1365 1740 1666 ...

> dput(partOneCrimeDF)
structure(list(`_id` = structure(list(year = c(2015L, 2015L, 
2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2014L, 2014L, 2014L, 
2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 
2013L, 2013L, 2013L, 2013L, 2013L, 2013L, 2013L, 2013L, 2013L, 
2013L, 2013L, 2013L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L
), month = c(8L, 7L, 6L, 5L, 4L, 3L, 2L, 1L, 12L, 11L, 10L, 9L, 
8L, 7L, 6L, 5L, 4L, 3L, 2L, 1L, 12L, 11L, 10L, 9L, 8L, 7L, 6L, 
5L, 4L, 3L, 2L, 1L, 12L, 11L, 10L, 9L, 8L, 7L)), .Names = c("year", 
"month"), class = "data.frame", row.names = c(NA, 38L)), count = c(457L, 
1733L, 1632L, 1674L, 1554L, 1399L, 955L, 1365L, 1740L, 1666L, 
1879L, 1835L, 1938L, 2000L, 1934L, 1860L, 1648L, 1575L, 1289L, 
1764L, 1763L, 1859L, 1908L, 1873L, 2005L, 2191L, 1971L, 1920L, 
1673L, 1618L, 1246L, 1674L, 1898L, 1867L, 1947L, 2148L, 2106L, 
1697L)), .Names = c("_id", "count"), class = "data.frame", row.names = c(NA, 
38L))

1 个答案:

答案 0 :(得分:1)

我们可以将do.calldata.frame

一起使用
newDF <- do.call(data.frame, partOneCrimeDF)