Как создать пустой вектор R для добавления нового items

Я хочу использовать R в Python, как предусмотрено модулем Rpy2. Я заметил, что R имеет очень удобные [] операции, с помощью которых вы можете извлечь определенные столбцы или строки. Как я мог достичь такой функции с помощью скриптов Python?

Моя идея состоит в том, чтобы создать вектор R и добавить эти нужные элементы в этот вектор так, чтобы конечный вектор был таким же, как в R. Я создал seq () , но, похоже, у него есть начальная цифра 1, поэтому конечный результат всегда будет начинаться с цифры 1, а это не то, что я хочу. Так, Есть ли лучший способ сделать это?

85
задан Sam Firke 20 July 2016 в 13:26
поделиться

5 ответов

Вы можете создать такой пустой вектор

vec <- numeric(0)

А затем добавить элементы с помощью c ()

vec <- c(vec, 1:5)

Однако, как говорит Ромунов, гораздо лучше заранее выделить вектор, а затем заполнить его (так как это позволяет избежать перераспределения нового копию вашего вектора каждый раз, когда вы добавляете элементы)

23
ответ дан 24 November 2019 в 08:16
поделиться

Я заранее выделяю вектор с помощью

> (a <- rep(NA, 10))
 [1] NA NA NA NA NA NA NA NA NA NA

. Затем вы можете использовать [] для вставки в него значений.

50
ответ дан 24 November 2019 в 08:16
поделиться

Я также видел

x <- {}

. Теперь вы можете объединить или привязать вектор любого измерения к x

rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)
4
ответ дан 24 November 2019 в 08:16
поделиться

В rpy2 способ получить тот же оператор, что и "[" с R, - это использовать ".rx". См. Документацию о извлечении с помощью rpy2

Для создания векторов, если вы знакомы с Python, проблем быть не должно. См. Документацию о создании векторов

1
ответ дан 24 November 2019 в 08:16
поделиться
vec <- vector()

См. также вектор справка

?vector
91
ответ дан 24 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: