Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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
R 使用sample()进行随机采样会产生意外的结果_R_Sample - Fatal编程技术网

R 使用sample()进行随机采样会产生意外的结果

R 使用sample()进行随机采样会产生意外的结果,r,sample,R,Sample,在R中执行随机抽样时,请考虑以下事项: n <- 10 k <- 10 p <- 0.10 # proportion of the k objects to subsample probs <- c(0.30, 0.30, 0.30, rep(0.10/7, 7)) # probabilities for each of the k objects 我的想法是,sample()的'size'参数(即n*p)在第二次函数调用(y变量)中无法计算为1,但我在sample(

在R中执行随机抽样时,请考虑以下事项:

n <- 10
k <- 10 
p <- 0.10 # proportion of the k objects to subsample
probs <- c(0.30, 0.30, 0.30, rep(0.10/7, 7)) # probabilities for each of the k objects
我的想法是,sample()的'size'参数(即n*p)在第二次函数调用(y变量)中无法计算为1,但我在sample()的帮助文件中找不到任何记录此错误的文件

我知道,在某些情况下,天花板()可能会表现得很奇怪,但我不相信这就是问题所在

当运行上述代码时,x被设置为整数数据类型,例如1L、2L等,这导致计算y时出错


有人知道如何解决这个问题吗?

如果
x
是一个单值,
sample(x)
从值1到
x
进行采样(请参阅帮助的
详细信息
部分),或者如果
x
不是整数,则从值1到
floor(x)
。因此,
prob
参数必须是长度为
x
的向量。在代码中,probs[x]
始终是长度为1的向量,这会导致错误

x <- sort(sample(k, size = ceiling(p * k), replace = FALSE)) # works
y <- sample(x, size = n, replace = TRUE, prob = probs[x]) # throws error
Error in sample.int(x, size, replace, prob) : 
incorrect number of probabilities