【问题标题】:How to use "cast" in reshape without aggregation如何在不聚合的情况下在重塑中使用“演员”
【发布时间】:2013-05-06 07:35:25
【问题描述】:

在我见过的许多 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

我想这是假设观察结果是成对的,而你缺少值会搞砸这一切,但任何见解都值得赞赏

【问题讨论】:

  • 两件事:1.您的宽格式与长格式数据不匹配,因为Alex没有出现在长格式中。 2. 你怎么知道a==2b==4 一起而不是a==2b==5 或其他一些值的组合?我猜您没有显示指示实验或其他标识符的列...
  • @Chase 我的猜测是每个 ID* 条件组合只有两行。但是来自 aleph4 的更多信息不会受到伤害......

标签: r reshape reshape2


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 1970-01-01
    • 2013-01-11
    • 2012-01-26
    • 2021-01-02
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多