在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的新手,所以任何帮助都是非常苛刻的
答案 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"