R:如何使用自定义频率对行进行采样
R: how to sample rows with custom frequencies
我在 R 中有一个数据框,它有两列,一列是姓氏,另一列是每个姓氏出现的频率。我想根据频率值 (0 -> 1) 随机 select 姓氏。
到目前为止,我已经尝试使用样本函数,但它不允许每个值的特定频率。不确定这是否可能:/
df1 <- data.frame(names = c("John","Mary"),freq=c(0.2,0.8))
df1
# names freq
# 1 John 0.2
# 2 Mary 0.8
set.seed(1)
sample100 <- sample(
x = df1$names,
size = 100,
replace=TRUE,
prob=df1$freq)
table(sample100)
# sample100
# John Mary
# 17 83
我在 R 中有一个数据框,它有两列,一列是姓氏,另一列是每个姓氏出现的频率。我想根据频率值 (0 -> 1) 随机 select 姓氏。
到目前为止,我已经尝试使用样本函数,但它不允许每个值的特定频率。不确定这是否可能:/
df1 <- data.frame(names = c("John","Mary"),freq=c(0.2,0.8))
df1
# names freq
# 1 John 0.2
# 2 Mary 0.8
set.seed(1)
sample100 <- sample(
x = df1$names,
size = 100,
replace=TRUE,
prob=df1$freq)
table(sample100)
# sample100
# John Mary
# 17 83