написать текстовый файл со списком матриц в R - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь собрать кучу матриц (разных размеров) в список, а затем записать этот список в текстовый файл, с разрывами строк между каждой матрицей. Вот фиктивный пример:

x <- matrix(0, nrow=2, ncol=7)
y <- matrix(0, nrow=7, ncol=7)
z <- matrix(0, nrow=4, ncol=7)
n_y <- t(matrix(nrow(allpar12), nrow(allpar12))) #just need a 1x2 matrix with the nrow(x) in each cell, this probably isn't the best way to do it.
test <- list(x, y, y, n_y, z)

lapply(test, cat, "\n", file="test.txt", append=T)

Текстовый файл выглядит так: output

Кажется, что матрицы печатаются как векторы. Как я могу изменить код, чтобы они печатались как матрицы?

Спасибо!

1 Ответ

0 голосов
/ 22 марта 2019

Попробуйте

create_text <- function(m){
  res <- ""
  m <- formatC(m, width = max(nchar(trunc(m))), flag = "", format = "d")
  for(i in 1:nrow(m)){
     res <- paste0(res, paste0(paste(as.character(m[i, 1:ncol(m)]), collapse = "\t"), "\n"))
  }
  return(res)
}

text <- lapply(test, create_text)

writeLines(unlist(text), "listmat.txt")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...