Вы можете переключаться между матрицами и кадров данных легко. Работа с кадра данных позволит вам сделать это проще с bracket notation:
bm <- as.data.frame(B) # assuming your matrix is called "B"
bm[,1:8] <- 0
bm[,9:56] <- 1
B2 <- as.matrix(bm)
Вот полный, рабочий пример с фиктивными данными:
B = matrix(c(2:65), nrow=320, ncol=64) # Create a matrix with dummy data
bm <- as.data.frame(B) # Change it to a data frame
bm[,1:8] <- 0 # Change each row in the first 8 columns to 0
bm[,9:56] <- 1 # Change the rest to 1
B2 <- as.matrix(bm) # Change the data back to a matrix
Кроме того, обратите внимание на this post о том, как правильно отправьте вопрос R. Я честно потрясен, что ваш вопрос еще не был удален или отмечен. R на SO может быть жестоким.
Для существующей матрицы с именем myMat с размерами 320 X 64, 'myMat [] <- rep (c (0, 1), c (8, 56) * 320)'. Чтобы построить с нуля: 'myMat <- matrix (rep (c (0, 1), c (8, 56) * 320), 320)'. – lmo