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