Надеюсь, у этого есть простой ответ, который я просто не смог найти:
Я пытаюсь написать симуляцию, которая будет сравнивать ряд статистических процедур для различных подмножеств строк (субъектов) и столбцов (переменных) большой матрицы.
Подмножества строк были довольно просты с использованием sample()
номеров идентификаторов субъекта, но у меня немного больше проблем со столбцами.
По сути, я хотел бы создать случайную выборку индексных номеров столбцов, которая затем будет использоваться для создания новой матрицы. Самое близкое, что у меня есть:
testmat <- matrix(rnorm(10000),nrow=1000,ncol=100)
column.ind <- sample(3:100,20)
teststr <- paste("testmat[,",column.ind,"]",sep="",collapse=",")
, которая дает мне строку, которая имеет testmat[,column.ind]
для каждого выбранного индекса. Есть ли способ легко подключить это к функции cbind()
, чтобы создать новую матрицу? Есть ли какой-то другой очевидный способ, которым я скучаю?
Я смог сделать это с помощью цикла (то есть cbind(matrix,newcolumn)
снова и снова), но это довольно медленно, поскольку матрица, которую я использую, довольно велика, и я буду делать это много раз. Я надеюсь, что есть парное решение, которое будет более элегантным и быстрым.