dcast 产生极宽的数据帧

dcast produces extremely wide dataframe

我正在尝试转换如下所示的数据:

> long.data
         date      ID  average    stat
5128 20020510   UKM66 42.51919 minimum
2267 20020510   PL622 61.31768 average
265  20020503   DE71E 42.17819 maximum

其中 averagedateIDstat 的组合标识,如下所示:

> wide.data
      date    ID minimum average maximum
1 20020510 UKM66      50      62      70
2 20020510 PL622      52      60      63
3 20020510 DE71E      49      67      80

据我所知,dcast 是一个很好的方法,但是当我尝试以下操作时:

> wide.data <- dcast(long.data, date + ID + stat ~ average)

我收到一条警告和一个非常长的数据帧:

Using stat as value column: use value.var to override.
> ncol(wide.data)
[1] 4577

R 似乎为每个唯一观察值提供了一个列。我已经阅读了关于 reshape2dcast 的文档,但我仍然没有理解正确。这里出了什么问题?

你想要dcast(long.data, date + ID ~ stat, value.var="average")dcast 将为 ~ 右侧变量的每个唯一值(或多个变量的值组合)提供一个新列。