Kode berikut menggabungkan vektor dengan bingkai data:
newrow = c(1:4)
existingDF = rbind(existingDF,newrow)
Namun kode ini selalu menyisipkan baris baru di akhir kerangka data.
Bagaimana saya bisa memasukkan baris pada titik tertentu dalam kerangka data? Misalnya, katakanlah kerangka data memiliki 20 baris, bagaimana saya bisa menyisipkan baris baru antara baris 10 dan 11?
existingDF = rbind(existingDF[1:10,],newrow,existingDF[-(1:10),])
newdataframe[nrow(newdataframe)+1,] <- existingdataframe[i,]
Jawaban:
Inilah solusi yang menghindari
rbind
panggilan (sering lambat) :Jika kecepatan kurang penting daripada kejelasan, maka solusi @ Simon bekerja dengan baik:
(Perhatikan kami mengindeks secara
r
berbeda).Dan akhirnya, tolok ukur:
Tolak ukur
Seperti @MatthewDowle selalu menunjukkan kepada saya, tolok ukur perlu diperiksa untuk penskalaan saat ukuran masalah meningkat. Di sini kita pergi:
Solusi @ Roland berskala cukup baik, bahkan dengan panggilan ke
rbind
:Diplot pada skala linier:
Dan skala log-log:
sumber
df
dengan koloma,b,c,d
dan saya ingin menambahkan baris1,2,3,4
. Bagaimana aku melakukan itu?sumber
rbind
, tapi saya tertarik.Anda harus mencoba paket dplyr
Keluaran
Berbeda dengan menggunakan fungsi rbind
Keluaran
Ada beberapa peningkatan kinerja.
sumber
misalnya Anda ingin menambahkan baris variabel 2 ke variabel 1 dari data bernama "edge" lakukan saja seperti ini
sumber