r - 从 R 中的数据集中提取不成比例的样本

标签 r random sampling

如果我在 R 中有一个大型数据集,我如何考虑到原始数据的分布,随机抽取数据样本,特别是如果数据是倾斜的,只有 1% 属于小类,我想采取有偏见的数据样本?

最佳答案

sample(x, n, replace = FALSE, prob = NULL)函数从向量中获取样本 x尺寸n .这个样本可以是无更换 ,选择每个元素加入样本的概率可以是每个元素相同 , 或 向量 由用户告知。

如果你想为每个元素抽取 50 个案例的相同概率样本,你所要做的就是

n <- 50
smpl <- df[sample(nrow(df), 50),]

但是,如果您想为元素提供不同的被选中概率,例如 的元素性别 有概率 0.25 , 而那些 性别 传真 有问题 0.75 ,你应该做
n <- 50
prb <- ifelse(sex=="M",0.25,0.75)
smpl <- df[sample(nrow(df), 50, prob = prb),]

关于r - 从 R 中的数据集中提取不成比例的样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240991/

相关文章:

r - 有没有办法记录或记录 R 函数的输出?

R:使省略号中的命名项在(可能是嵌套的)执行环境中可用

java - 用随机数填充数组android/java

statistics - 如何从多项分布中采样?

audio - 1帧由左右音频组成?

visualization - 在 ParaView 中将点源重新采样为图像数据

r - (函数(类,fdef,mtable): unable to find an inherited method for function ‘n’ for signature ‘"missing"’ 中的错误

python - 我如何去一个随机的网站? - Python

php poker 生成的随机结果与预期不符

list - 如何列出R中的一部分对象?