复制多个栏

时间:2019-09-11 14:45:49

标签: r

我正在尝试对数据帧的2列进行采样,但是sample函数仅允许我对一列而不是对这两列(Campaignid,CampaignName)进行一次采样。

有没有想要的采样方式!

camp.d <- data.frame(Campaignid=c(121,132,133,143,153),
                     CampaignName=c('a','b','c','d','e'))

#allows only one column
a <- sample(camp.d$Campaignid, 100, replace = TRUE)

预期:

Campaignid CampaignName
  121             a
  121             a
  133             c
  132             b
  132             b
...

3 个答案:

答案 0 :(得分:3)

我认为您需要这个-

sampled_data <- camp.d[sample(nrow(camp.d), 100, replace = T), ]

head(sampled_data)

    Campaignid CampaignName
2          132            b
5          153            e
3          133            c
3.1        133            c
2.1        132            b
4          143            d

答案 1 :(得分:2)

您可以使用示例将切片称为完整数据帧


camp.d[sample(camp.d$Campaignid, 100), ]

答案 2 :(得分:1)

您可以尝试:

as.data.frame(lapply(camp.d, sample, size = 100, replace = TRUE))

    Campaignid CampaignName
1          132            a
2          133            c
3          143            a
4          132            e
5          133            c
6          143            a
7          132            c
8          153            a
9          121            c
10         132            b