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))
我有这个模拟,我想根据给定的条件和概率生成行。
我用这段代码生成数据:
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))