在R中采集数据样本

如果我在csv文件中有一个大的数据集,在R中,如何考虑原始数据的分布,如何随机抽取数据.如果数据偏差,只有1%属于次要类,我想采取偏好的数据样本呢?
样本(x,n,replace = FALSE,prob = NULL)函数从一个大小为n的向量x中获取一个样本.该样本可以有或没有替换,并且将样本中的每个元素选择的概率对于每个元素可以是相同的,也可以是由用户通知的向量.

如果你想对每个元素采用相同的概率样本,其中有50例,你所要做的就是

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

但是,如果要给出不同的元素被选择的概率,那么我们可以说,性别是M的元素的概率是0.25,而性别是F的元素有概率0.75,你应该

n <- 50
prb <- ifelse(sex=="M",0.25,0.75)
smpl <- df[sample(nrow(df), 50, prob = prb),]
相关文章
相关标签/搜索