在R中使用负下标生成样本未拾取值?

在R中使用负下标生成样本未拾取值?,r,subscript,R,Subscript,我是这里的学生。我的任务是组合两组值,然后组合它们以进行排列测试。在本例中,我将向量组合成一个向量,然后使用sample()函数提取一半的值以找到它们的平均值,并将其与另一半进行比较。有人告诉我,我可以使用负下标以某种方式提取未拾取的值,并将它们放入另一个变量中,以便比较平均值 controls <- c(6.33, 1.65, -3.58, 3.3, -6.6, 3.29, 1.80, 1.80, 2.98) ## group 1 redA <- c(6.84, -9.83, -0

我是这里的学生。我的任务是组合两组值,然后组合它们以进行排列测试。在本例中,我将向量组合成一个向量,然后使用sample()函数提取一半的值以找到它们的平均值,并将其与另一半进行比较。有人告诉我,我可以使用负下标以某种方式提取未拾取的值,并将它们放入另一个变量中,以便比较平均值

controls <- c(6.33, 1.65, -3.58, 3.3, -6.6, 3.29, 1.80, 1.80, 2.98) ## group 1
redA <- c(6.84, -9.83, -0.02, -9.12, -0.07, -19.34, 3.97, -16.37, -21.02) ## group 2
allscores <- c(controls, redA) ## combine vectors
allscores ## check new vector
controlIDs <- sample(allscores,9) ## pull out 9 random values
otherIDs <- allscores[-controlIDs] ## get other 9 non-picked values
difference <- mean(controlIDs) - mean(otherIDs) ## compare means
从概念上讲,当我认为sample是独立运行的时候,我很难弄清楚我们的R如何能够使用负下标来选择未选择的sample值

有人能告诉我这里的代码是不是搞错了?理想情况下,这会起作用,所以可以将其放入for循环并运行一段时间以创建值的分布。如果您能帮助学习如何使用负下标将未选择的值提取到单独的向量中,我们将不胜感激。一个类调用说整个allscores向量都是数字,所以我不认为这是数据类型中的冲突,但我可能错了


谢谢

错误是您从
allscores
中采样了值,而您需要这些值的索引来删除它们

因此,您可以使用:

...
idx <- sample(seq_along(allscores),9) ## take 9 random values
controlIDs <- allscores[idx] ## pull out these 9random values
otherIDs <- allscores[-idx] ## get other 9 non-picked values
...
。。。

idx感谢您的帮助。然而,当我运行它时,它似乎给了我值的索引,而不是值本身。IE>controlIDs controlIDs[1]2 8 9 10 3 14 13 16 17>平均值(controlIDs)[1]10.2222关于获取平均值而不是索引的任何指导?***我已经设法弄明白了。我刚刚创建了一个新变量减去负下标,它给了我其他的值。谢谢你的帮助!:)**控件ID
...
idx <- sample(seq_along(allscores),9) ## take 9 random values
controlIDs <- allscores[idx] ## pull out these 9random values
otherIDs <- allscores[-idx] ## get other 9 non-picked values
...