如何在重塑中使用“cast”而不进行聚合

前端之家收集整理的这篇文章主要介绍了如何在重塑中使用“cast”而不进行聚合前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我看过的许多使用中,使用了诸如mean之类的聚合函数.

如果你只是想重塑而不丢失信息怎么样?
例如,如果我想采用这种长格式:

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

对于这种宽格式而没有任何聚合:

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

我认为这是假设观察结果配对而你缺少价值会搞砸这一点,但任何见解都会受到赞赏

在这种情况下,您可以添加序列号:
library(reshape2)

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

最后一行给出:

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

(请注意,我们使用了问题中的示例输入,但问题中的示例输出与示例输入不对应.)

猜你在找的设计模式相关文章