gpt4 book ai didi

r - 将多行与多列数据R合并为一行

转载 作者:行者123 更新时间:2023-12-04 23:37:30 24 4
gpt4 key购买 nike

我有一个数据集,其中以不同的方式测量了相同的效果,我想比较这些测量值。我的数据集如下所示:

Study     MType     ID     Insect     Mean     Sd     N
Alla Fecundity 1 Aphid .62 .7628 11
Alla RGR 1 Aphid -32.8 7.76 11
Ando Survival 2 Bee 2.34 .67 8
Ando RGR 2 Bee 4.56 .34 10
Ando Fecundity 2 Bee 5.32 4.3 20

我想按 ID 号组合行,以便保留每行的 MType、Mean、Sd 和 N(尽管需要更改列名,以便可以区分列)。

希望最终它看起来像:
Study ID Insect Fecundity.mean Fecundity.Sd Fecundity.N RGR.mean RGR.Sd...etc
一些困难:
  • 大约有 10 种不同的 MType
  • 每个 ID 号有 2 到 4 个 MType

  • 我搞砸了 reshape 和 tidyr ,我一直无法弄清楚如何用它们中的任何一个来做到这一点。请帮忙!

    最佳答案

    您可以使用 reshape通过 base R。您想根据这篇文章将数据从长格式转换为宽格式:How to reshape data from long to wide format? .

    如果您的数据位于 data.frame d:
    reshape(d, idvar=c("ID", "Study", "Insect"), timevar = "MType", direction="wide")
    结果:

      Study ID Insect Mean.Fecundity Sd.Fecundity N.Fecundity Mean.RGR Sd.RGR N.RGR Mean.Survival Sd.Survival N.Survival
    1 Alla 1 Aphid 0.62 0.7628 11 -32.80 7.76 11 NA NA NA
    3 Ando 2 Bee 5.32 4.3000 20 4.56 0.34 10 2.34 0.67 8

    关于r - 将多行与多列数据R合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49139288/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com