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