Saya perlu mengubah bingkai data yang besar, jadi saya menggunakan:
df.aree <- t(df.aree)
df.aree <- as.data.frame(df.aree)
Inilah yang saya dapatkan:
df.aree[c(1:5),c(1:5)]
10428 10760 12148 11865
name M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
Masalah saya adalah nama kolom baru (10428, 10760, 12148, 11865) yang perlu saya hilangkan karena saya perlu menggunakan baris pertama sebagai nama kolom.
Saya mencoba dengan col.names()
fungsi tetapi saya belum mendapatkan apa yang saya butuhkan.
Apakah anda memiliki saran?
EDIT
Terima kasih atas saran Anda !!! Menggunakannya saya mendapatkan:
df.aree[c(1:5),c(1:5)]
M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
GS44.A 1.225938e+04 2.681887e+03 1.154924e+04 4.202394e+04
Sekarang saya perlu mengubah nama baris (GS ..) menjadi kolom faktor ....
colnames(df.aree)<-df.aree[1,];df.aree<-df.aree[2:nrow(df.aree),]
?t
Pembuatan kerangka data juga cukup tidak efisien. Jika bisa, gunakan matriks.Jawaban:
Sebaiknya Anda tidak mengubah urutan data.frame saat kolom nama ada di dalamnya - semua nilai numerik akan diubah menjadi string!
Inilah solusi yang menjadikan angka sebagai angka:
sumber
sumber
Anda dapat menggunakan
transpose
fungsi daridata.table
perpustakaan. Solusi sederhana dan cepat yang menjaganumeric
nilai sebagainumeric
.sumber
setnames(t_mtcars, rownames(mtcars))
akan menjadidata.table
cara - cara pengaturan nama pada data.table (dan jika menggunakandata.table
objek Anda tidak akan mengaturrownames
)Manfaatkan
as.matrix
:sumber