Saya ingin menggunakan R dengan Python, seperti yang disediakan oleh modul Rpy2. Saya perhatikan bahwa R memiliki []
operasi yang sangat mudah dimana Anda dapat mengekstrak kolom atau garis tertentu. Bagaimana saya bisa mencapai fungsi seperti itu dengan skrip Python?
Ide saya adalah membuat vektor R dan menambahkan elemen yang diinginkan ke dalam vektor ini sehingga vektor akhirnya sama dengan yang ada di R. Saya membuat a seq()
, tetapi tampaknya ia memiliki angka awal 1, jadi hasil akhirnya akan selalu mulai dengan angka 1, yang bukan yang saya inginkan. Jadi, adakah cara yang lebih baik untuk melakukan ini?
Anda dapat membuat vektor kosong seperti itu
vec <- numeric(0)
Dan kemudian tambahkan elemen menggunakan c ()
vec <- c(vec, 1:5)
Namun seperti yang dikatakan romunov, jauh lebih baik untuk mengalokasikan vektor terlebih dahulu dan kemudian mengisinya (karena ini menghindari realokasi salinan baru dari vektor Anda setiap kali Anda menambahkan elemen)
sumber
Untuk membuat penggunaan vektor kosong:
vec <- c();
Harap dicatat, saya tidak membuat asumsi apa pun tentang jenis vektor yang Anda butuhkan, misalnya numerik.
Setelah vektor dibuat, Anda dapat menambahkan elemen ke dalamnya sebagai berikut:
Misalnya, untuk menambahkan nilai numerik 1:
vec <- c(vec, 1);
atau, untuk menambahkan nilai string "a"
vec <- c(vec, "a");
sumber
vec <- c()
set vec keNULL
. Jika Anda menginginkan vektor kosong, Anda akan menggunakanvec <- character()
,vec <- numeric()
dll.Saya juga melihat
x <- {}
Sekarang Anda dapat menggabungkan atau mengikat vektor dari dimensi apa pun ke
x
rbind(x, 1:10) cbind(x, 1:10) c(x, 10)
sumber
x <- NULL
, dan tidak membuat apa pun selain referensi ke mana-mana.Seperti yang ditunjukkan oleh Brani, vektor () adalah solusi, misalnya
newVector <- vector(mode = "numeric", length = 50)
akan mengembalikan vektor bernama "newVector" dengan 50 "0" sebagai nilai awal. Ini juga cukup umum untuk menambahkan skalar baru ke vektor yang ada untuk sampai pada vektor yang diperluas, misalnya
aVector <- c(aVector, newScalar)
sumber
Di rpy2, cara untuk mendapatkan operator yang sama dengan "[" dengan R adalah menggunakan ".rx". Lihat dokumentasi tentang mengekstrak dengan rpy2
Untuk membuat vektor, jika Anda memahami cara Anda menggunakan Python seharusnya tidak ada masalah. Lihat dokumentasi tentang membuat vektor
sumber