gpt4 book ai didi

r - 按组添加行并在 R 中用 dplyr 填充它们

转载 作者:行者123 更新时间:2023-12-05 00:52:56 25 4
gpt4 key购买 nike

我有一个巨大的数据框,看起来像这样

gene=c("A","A","A","A","B","B")
frequency=c(abs(rnorm(6,0.5,1)))
time=c(1,2,3,4,1,2)
df <- data.frame(gene,frequency,time)

gene frequency time
1 A 0.08463914 1
2 A 1.55639512 2
3 A 1.24172246 3
4 A 0.75038980 4
5 B 1.13189855 1
6 B 0.56896895 2

对于基因 B,我只有时间点 1 和 2 的数据。我想用零填充时间点 3 和 4 的数据,以便我的数据看起来像这样

  gene  frequency time
1 A 0.08463914 1
2 A 1.55639512 2
3 A 1.24172246 3
4 A 0.75038980 4
5 B 1.13189855 1
6 B 0.56896895 2
7 B 0 3
8 B 0 4

总的来说,我有多个组(又名基因)我想为此做这件事。非常感谢任何帮助或提示。

最佳答案

我们可以使用完成

library(dplyr)
library(tidyr)
df %>%
complete(gene, time = 1:4, fill = list(frequency = 0)) %>%
select(names(df))

-输出

# A tibble: 8 x 3
gene frequency time
<chr> <dbl> <dbl>
1 A 0.590 1
2 A 0.762 2
3 A 0.336 3
4 A 0.437 4
5 B 0.904 1
6 B 1.97 2
7 B 0 3
8 B 0 4

关于r - 按组添加行并在 R 中用 dplyr 填充它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68808020/

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