重新采样和合并数据集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重新采样和合并数据集相关的知识,希望对你有一定的参考价值。

请考虑以下数据集:

d1 <- c(2, 3, 8)
d2 <- data.frame(d1)
d1 <- c(1, 7, 9, 10)
d3 <- data.frame(d1)

现在我想从d3中随机抽取3次观察(无需替换),每次我想将它与d2合并。所以我应该有三个合并的数据框,有6个观察。

我尝试过:

for (r in 1:3)
{
  sam <- sample(1:4, 3, replace = FALSE)

  merge <- rbind(d2, d3[sam])
}

但这不起作用。谁能帮我?

答案

你可以试试

library(tidyverse)
d1 <- data.frame(d1=c(2, 3, 8))
d2 <- data.frame(d1=c(1, 7, 9, 10))
1:3 %>% 
  map(~sample_n(d2, 3) %>% 
      bind_cols(d1))
[[1]]
  d1 d11
1  1   2
2  7   3
3  9   8

[[2]]
  d1 d11
1 10   2
2  1   3
3  7   8

[[3]]
  d1 d11
1  9   2
2  7   3
3 10   8

以上是关于重新采样和合并数据集的主要内容,如果未能解决你的问题,请参考以下文章

Python - Pandas,重新采样数据集以具有平衡的类

从大型数据集重新采样的 Diff-in-diff 估计

Pandas Dataframe 时间序列重新采样,如何修改 bin 以适应底层数据集的开始和结束时间

猪:如何重新采样时间序列数据?

pandas 重新采样以获得具有时间序列数据的月平均值

将分布重新采样为具有最大可能数据记录的新分布