Как объединить два массива в R - PullRequest
0 голосов
/ 08 октября 2019

У меня есть два массива.

Используя numpy.append, мы можем объединить два массива.

Как мы можем сделать то же самое в R?

merge не можемсделай это.

Выход Python / Пример:

   a=np.array([1,2,3,4,5,5])
   b=np.array([0,0,0,0,0,0])
   np.append(a,b)

   array([1, 2, 3, 4, 5, 5, 0, 0, 0, 0, 0, 0])   # this is what I want

x<-c(mat , (0.0) * (l - length(demeaned)))

mat is matrix (size is 20)

l - length(demeaned) равен 10

iхочу в конце 30 размер

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Добавляя к предыдущему ответу, вы можете использовать rbind или cbind для создания двумерных массивов (матриц) из простых массивов (векторов):

cbind(a,b)

# output
 a b
[1,] 1 0
[2,] 2 0
[3,] 3 0
[4,] 4 0
[5,] 5 0
[6,] 5 0

или

rbind(a,b)

# output
[,1] [,2] [,3] [,4] [,5] [,6]
a    1    2    3    4    5    5
b    0    0    0    0    0    0

Если вы хотите преобразовать его обратно в вектор, используйте as.vector. Этот

as.vector(rbind(a,b))

даст вам объединенный вектор с чередующимися элементами.

Также обратите внимание, что c может сгладить списки, если вы используете аргумент recursive=TRUE:

a <- list(1,list(1,2,list(3,4)))
b <- 10
c(a,b, recursive = TRUE)

# output
[1]  1  1  2  3  4 10

Наконец, вы можете использовать rep для генерации последовательностей повторяющихся чисел:

rep(0,10)
1 голос
/ 08 октября 2019

Функция c объединяет свои аргументы. Вектор может быть объединением чисел или других векторов:

a = c(1,2,3,4,5,5)
b = c(0,0,0,0,0,0)
c(a,b)

 [1] 1 2 3 4 5 5 0 0 0 0 0 0

По крайней мере для одномерных массивов, как в вашем примере с Python, это эквивалентно np.append

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