Стек 1D-массивов в виде столбцов в 2D-массивы - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь написать код для ансамбля стековых типов прогнозирующих моделей, использующих R. В Python есть функция numpy.column_stack, которая объединяет одномерные массивы в виде столбцов в двумерные массивы.Есть ли подобная функция в R?(Я не смог найти ни одного) или, например, «R-way» для достижения того же.

1 Ответ

0 голосов
/ 01 мая 2019

Я не уверен насчет размеров и т. Д. Вашего набора данных и / или массивов, которые вы хотите собрать.Тем не менее, я написал бы простую функцию, чтобы дать мне матрицу, которая собирает массивы в виде столбцов, как показано ниже.

# Create dummy data of length 91
x <- seq(1, 10, 0.1)
# Create dummy data of length 91
y <- seq(1, 46, 0.5)

getMat <- function(arrays, nrows, ncols, byrow = F) {
  if(length(arrays) == 0) {
    stop("The array is empty. Can't convert it to a matrix")
  }
  return (matrix(arrays, nrow = nrows, ncol = ncols, byrow = byrow))
}

# myMat will have x as first column, y as second column and so on 
myMat <- getMat(c(x, y), length(x), 2, F)
head(myMat)

# Output
head(myMat)
     [,1] [,2]
[1,]  1.0  1.0
[2,]  1.1  1.5
[3,]  1.2  2.0
[4,]  1.3  2.5
[5,]  1.4  3.0
[6,]  1.5  3.5

Я бы обновил ответ, если бы вы могли предоставить больше информации.Также я бы добавил одну проверку, что длина всех массивов должна совпадать перед тем, как вы преобразуете или предоставите некоторую логику заполнения, если они имеют разную длину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...