How to use “cast” in reshape without aggregation

假装没事ソ 提交于 2019-11-27 18:33:24

问题


In many uses of cast I've seen, an aggregation function such as mean is used.

How about if you simply want to reshape without information loss. For example, if I want to take this long format:

ID     condition    Value
John   a            2
John   a            3
John   b            4
John   b            5
John   a            6
John   a            2
John   b            1
John   b            4

To this wide-format without any aggregation:

ID    a  b
John  2  4
John  3  5
Alex  6  1
Alex  2  4

I suppose that this is assuming that observations are paired and you were missing value would mess this up but any insight is appreciated


回答1:


In such cases you can add a sequence number:

library(reshape2)

DF$seq <- with(DF, ave(Value, ID, condition, FUN = seq_along))
dcast(ID + seq ~ condition, data = DF, value.var = "Value")

The last line gives:

    ID seq a b
1 John   1 2 4
2 John   2 3 5
3 John   3 6 1
4 John   4 2 4

(Note that we used the sample input from the question but the sample output in the question does not correspond to the sample input.)



来源:https://stackoverflow.com/questions/16502219/how-to-use-cast-in-reshape-without-aggregation

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!