Ответ 1
vec <- vector()
См. также справочную справку
?vector
Я хочу использовать R в Python, как это предусмотрено модулем Rpy2. Я замечаю, что R имеет очень удобные операции []
, посредством которых вы можете извлекать конкретные столбцы или строки. Как я могу достичь такой функции с помощью скриптов Python?
Моя идея - создать вектор R и добавить эти нужные элементы в этот вектор, чтобы конечный вектор был таким же, как в R. Я создал a seq()
, но, похоже, он имеет начальную цифру 1, так что конечный результат всегда начинался с цифры 1, чего я не хочу. Итак, есть ли лучший способ сделать это?
vec <- vector()
См. также справочную справку
?vector
Я предварительно выделяю вектор с
> (a <- rep(NA, 10))
[1] NA NA NA NA NA NA NA NA NA NA
Затем вы можете использовать [] для вставки в него значений.
Вы можете создать пустой вектор таким образом
vec <- numeric(0)
Затем добавьте элементы, используя c()
vec <- c(vec, 1:5)
Однако, как говорит Ромунов, гораздо лучше предварительно выделить вектор, а затем заполнить его (поскольку это позволяет избежать перераспределения новой копии вашего вектора каждый раз, когда вы добавляете элементы)
Я также видел
x <- {}
Теперь вы можете объединить или привязать вектор любого измерения к x
rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)
Чтобы создать пустое векторное использование:
vec <- c();
Обратите внимание: я не делаю никаких предположений о типе требуемого вам вектора, например. Числовой.
После создания вектора вы можете добавить к нему следующие элементы:
Например, чтобы добавить числовое значение 1:
vec <- c(vec, 1);
или, чтобы добавить строковое значение "a"
vec <- c(vec, "a");
Как указано Брани, вектор() является решением, например
newVector <- vector(mode = "numeric", length = 50)
вернет вектор с именем "newVector" с 50 "0" в качестве начальных значений. Также довольно просто добавить новый скаляр в существующий вектор, чтобы получить расширенный вектор, например.
aVector <- c(aVector, newScalar)
В rpy2, чтобы получить тот же самый оператор, что и "[" с R, следует использовать ".rx". См. Документацию по извлечение с помощью rpy2
Для создания векторов, если вы знаете свой путь с Python, не должно быть никаких проблем. Смотрите документацию о создании векторов