从R矩阵中获取随机列

时间:2016-09-11 23:13:25

标签: r

在R语言中,我用这种方式定义了一个矩阵:

data <- matrix(c("A","B","C","D","E","F"), nrow = 2)

这给了我这样的东西:

"A" | "C" | "E"
"B" | "D" | "F"

现在,如何获得矩阵的随机列?

如果我这样做:

sample(x = data, n = 2)

我从矩阵周围得到随机元素,比如“A”和“F”。我想要的是得到一个像“A”和“B”,或“C”和“D”或“E”和“F”这样的列

我是R的新手,所以任何帮助都是非常苛刻的

1 个答案:

答案 0 :(得分:5)

我会用这样的东西:

f <- function(mat) {
    j <- sample(seq_len(ncol(mat)), size=1)
    ## (Use `drop=FALSE` to say "don't convert 1-column matrices to vectors")
    data[, j, drop=FALSE]
}

## Try it out
f(data)
#      [,1]
# [1,] "E" 
# [2,] "F"