Select 行在 R 数据框中具有两个不同的概率

Select rows with two different probabilities within a R data frame

我有这个模拟,我想根据给定的条件和概率生成行。

我用这段代码生成数据:

library(tidyr)
df=data.frame(replicate(6,sample(1:10,1000,rep=TRUE)))

现在,我想 select 行 rowMeans 大于或等于 6 的概率为 0.8,行 rowMeans < 6 的概率为 0.2。我正在使用此代码 select 来自原始 df 的 n=30 样本,其行的 rowmean >6:

library(fBasics)
xsample=pop.dataL %>% dplyr::filter(rowSkewness(pop.dataL)>1.5) %>% 
dplyr::sample_n(30, weight=c(2,8), replace=T)

但我当然会收到错误“概率数不正确”...因为我需要一个向量,其权重具有相等的 nrow(df) ...就是想不通...

任何帮助将不胜感激...

谢谢!

使用ifelse()分配概率。

df %>%
  sample_n(30, replace = T, weight = ifelse(rowMeans(df) >= 6, 8, 2))