gpt4 book ai didi

r - 如何从另一个 df 的值子集创建一个新的 df?

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

我有一个看起来像这样的 df:

    gene ID  Probe ID Chromosome     Start      Stop
1: H3F3A 539154271 1 226259488 226259567
2: H3F3A 539154249 1 226259368 226259447
3: H3F3A 539154244 1 226259238 226259317
4: H3F3A 539154241 1 226259118 226259197
5: H3F3A 539154231 1 226258998 226259077
6: H3F3A 539154255 1 226258868 226258947

df 包含 7830 行,对应 40 个不同的基因 ID。

从这个 df,我想得到一个有 40 行的 df,每行对应于 40 个基因中的每一个,'Start' 将是第一个 Start 值,'Stop' 将是最后一个 Stop 值每个基因(即第一个基因的起始值是 226259488,终止值是 226258947。这个新的 df 看起来像(例如第一个基因 ID):

    gene ID  Probe ID Chromosome     Start      Stop
1: H3F3A 539154271 1 226259488 226258947

任何帮助都会很棒。谢谢

最佳答案

根据格式,它看起来像一个data.table,所以使用data.table方法,按'gene ID','Chromosome'分组,得到'Start'的first,'Stop'的last等列,汇总数据

library(data.table)
df[, .(`Probe ID` = first(`Probe ID`), Start = first(Start),
Stop = last(Stop)), by = .(`gene ID`, Chromosome)]

关于r - 如何从另一个 df 的值子集创建一个新的 df?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777890/

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