R

时间:2016-05-11 23:48:43

标签: r random statistics

我恐怕无法找到答案,所以我需要你的专业知识。

我需要在R中随机化一组数据,其中数据集是成对的选择集(在这里用字母表示);但是,我还需要为每个集合随机化优先顺序(首先是顺序)。另外,我需要包含阴性对照(XX)。它看起来像这样:

(1) X A or A X

(2) X B or B X

(3) X C or C X

(4) X D or D X

(5) X E or E X

(6) XX

我可以使用sample(1:6, 4)轻松随机化1-6,但我不知道如何为配对顺序添加随机化。任何想法都很棒!

3 个答案:

答案 0 :(得分:1)

假设您的原始数据集如下所示:

Second

您可以在列表级别和每对级别随机化它:

First

答案 1 :(得分:0)

如果我理解这个问题,下面的内容有点暴力,但我相信会回答你的问题

s<- c("a","b","c","d","e","x")
n<-6

(x<-cbind(sample(s,n),rep("x",n)))

for (i in 1:n) {
  if(sample(1:2,1)==2) {
    tmp<-x[i,1]
    x[i,1] <- x[i,2]
    x[i,2] <- tmp
  }   
}
x

答案 2 :(得分:0)

如果我理解;您有两次采样的LETTERS[1:5]LETTERS[24]X)随机排序。这应该这样做;

c(sample(LETTERS[c(1:5, 24)], 1), LETTERS[24])[sample(2)]

分解;

c(                               ## combination of
sample(LETTERS[c(1:5, 24)], 1),  ## A:E, X, sampled once
LETTERS[24])                     ## and X
[sample(2)]                      ## re-sampled

e.g。

set.seed(1337)
[1] "X" "D"

一些可能的结果清单;

set.seed(1337)
replicate(10, c(sample(LETTERS[c(1:5, 24)], 1), LETTERS[24])[sample(2)])
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "X"  "C"  "X"  "X"  "E"  "X"  "C"  "E"  "X"  "X"  
[2,] "D"  "X"  "X"  "A"  "X"  "A"  "X"  "X"  "D"  "X"