Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制比例时从data.frame采样[分层采样]_R_Sampling - Fatal编程技术网

控制比例时从data.frame采样[分层采样]

控制比例时从data.frame采样[分层采样],r,sampling,R,Sampling,我有以下数据集 id1<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) status<-c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2) df<-data.frame(id1,status) id1您可以尝试我的“splitstackshape”软件包中的分层功能: 或者,使用“dplyr”中的sample_frac: 这两种方法都将采用与原始分组变量成比例的分层样本(因此使用1

我有以下数据集

id1<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
status<-c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
df<-data.frame(id1,status)

id1您可以尝试我的“splitstackshape”软件包中的
分层
功能:

或者,使用“dplyr”中的
sample_frac


这两种方法都将采用与原始分组变量成比例的分层样本(因此使用
10/nrow(df)
,或等效地使用
0.5
)。

Quick question@Ananda Mahto。此采样方法将与replacement一起使用吗?@AliCivil,您可以使用replace参数指定它(默认值=FALSE-请参阅函数的帮助)。添加
replace=TRUE
如果您想进行替换:
分层(df,“status”,10/nrow(df),replace=TRUE)
library(splitstackshape)
stratified(df, "status", 10/nrow(df))
#     id1 status
#  1:   5      1
#  2:  12      1
#  3:   2      1
#  4:   1      1
#  5:   6      1
#  6:   9      1
#  7:  16      2
#  8:  17      2
#  9:  18      2
# 10:  15      2
library(dplyr)

df %>%
  group_by(status) %>%
  sample_frac(10/nrow(df))