Dapatkan Bilangan Lajur dalam R DataFrame

Dapatkan Bilangan Lajur Dalam R Dataframe



Dalam R, mendapatkan bilangan lajur ialah operasi asas yang diperlukan dalam banyak situasi apabila bekerja dengan DataFrames. Apabila subset, menganalisis, memanipulasi, menerbitkan dan menggambarkan data, kiraan lajur adalah maklumat penting yang perlu diketahui. Oleh itu, R menyediakan pendekatan yang berbeza untuk mendapatkan jumlah lajur DataFrame yang ditentukan. Dalam artikel ini, kami akan membincangkan beberapa pendekatan yang membantu kami mendapatkan kiraan lajur DataFrame.

Contoh 1: Menggunakan Fungsi Ncol().

Ncol() ialah fungsi yang paling kerap untuk mendapatkan jumlah lajur DataFrames.







df <- data.frame('y1' = c(10, 12, 14, 19),

'y2' = c(15, 22, 24, 29),
'y3' = c(25, 32, 34, 39))


n <- ncol(df)

cat('-----Bilangan lajur dalam Bingkai Data :', n)

Dalam contoh ini, kami mula-mula mencipta DataFrame 'df' dengan tiga lajur yang dilabelkan sebagai 'y1', 'y2', dan 'y3' menggunakan fungsi data.frame() dalam R. Elemen dalam setiap lajur ditentukan menggunakan fungsi c() yang mencipta vektor unsur. Kemudian, menggunakan pembolehubah 'n', fungsi ncol() digunakan untuk menentukan jumlah lajur dalam DataFrame 'df'. Akhir sekali, dengan mesej deskriptif dan pembolehubah 'n', fungsi cat() yang disediakan mencetak keputusan pada konsol.



Seperti yang dijangkakan, output yang diambil menunjukkan bahawa DataFrame yang ditentukan mempunyai tiga lajur:







Contoh 2: Kira Jumlah Lajur untuk DataFrame Kosong

Seterusnya, kami menggunakan fungsi ncol() pada DataFrame kosong yang juga mendapat nilai jumlah lajur tetapi nilai itu adalah sifar.

empty_df <- data.frame()

n <- ncol(empty_df)

cat('---Lajur dalam Bingkai Data :', n)

Dalam contoh ini, kami menjana DataFrame kosong, 'empty_df', dengan memanggil data.frame() tanpa menyatakan sebarang lajur atau baris. Seterusnya, kami menggunakan fungsi ncol() yang digunakan untuk mencari kiraan lajur dalam DataFrame. Fungsi ncol() ditetapkan dengan DataFrame 'empty_df' di sini untuk mendapatkan jumlah lajur. Oleh kerana DataFrame “empty_df” kosong, ia tidak mempunyai sebarang lajur. Jadi, output ncol(empty_df) ialah 0. Hasilnya dipaparkan oleh fungsi cat() yang digunakan di sini.



Output menunjukkan nilai '0' seperti yang dijangkakan kerana DataFrame kosong.

Contoh 3: Menggunakan Fungsi Select_If() dengan Fungsi Length()

Jika kita ingin mendapatkan semula bilangan lajur mana-mana jenis tertentu, kita harus menggunakan fungsi select_if() bersama-sama dengan fungsi length() R. Fungsi ini digunakan yang digabungkan untuk mendapatkan jumlah lajur setiap jenis . Kod untuk menggunakan fungsi ini dilaksanakan dalam perkara berikut:

perpustakaan(dplyr)

x1<-HURUF[1:10]

x2<-rpois(10,2)

x3<-rpois(10,5)

x4<-sample(c('Musim Panas','Musim Sejuk'),10,replace=TRUE)

df1<-data.frame(x1,x2,x3,x4)

df1

panjang(select_if(df1,is.numeric))

Dalam contoh ini, kita mula-mula memuatkan pakej dplyr supaya kita boleh mengakses fungsi select_if() dan fungsi length(). Kemudian, kami mencipta empat pembolehubah - 'x1', 'x2', 'x3' dan 'x4', masing-masing. Di sini, 'x1' mengandungi 10 huruf besar pertama abjad Inggeris. Pembolehubah 'x2' dan 'x3' dijana menggunakan fungsi rpois() untuk mencipta dua vektor berasingan 10 nombor rawak dengan parameter 2 dan 5, masing-masing. Pembolehubah 'x4' ialah vektor faktor dengan 10 elemen yang diambil secara rawak daripada vektor c ('Musim Panas', 'Musim Sejuk').

Kemudian, kami cuba mencipta DataFrame 'df1' di mana semua pembolehubah dihantar dalam fungsi data.frame(). Akhir sekali, kami menggunakan fungsi length() untuk menentukan panjang DataFrame 'df1' yang dibuat menggunakan fungsi select_if() daripada pakej dplyr. Fungsi select_if() memilih lajur daripada DataFrame “df1” sebagai argumen dan fungsi is.numeric() hanya memilih lajur yang mengandungi nilai angka. Kemudian, fungsi length() mendapat jumlah lajur yang dipilih oleh select_if() yang merupakan output keseluruhan kod.

Panjang lajur ditunjukkan dalam output berikut yang menunjukkan jumlah lajur DataFrame:

Contoh 4: Menggunakan Fungsi Sapply().

Sebaliknya, jika kita hanya mahu mengira nilai lajur yang hilang, kita mempunyai fungsi sapply(). Fungsi sapply() berulang pada setiap lajur DataFrame untuk beroperasi secara khusus. Fungsi sapply() pertama kali diluluskan dengan DataFrame sebagai hujah. Kemudian, ia memerlukan operasi untuk dilakukan pada DataFrame itu. Pelaksanaan fungsi sapply() untuk mendapatkan kiraan nilai NA dalam lajur DataFrame disediakan seperti berikut:

new_df <- data.frame(c1 = c(10, 11, NA, 13, NA),

c2 = c('N', NA, 'A', 'M', 'E'),
c3 = c(NA, 92, NA, NA, 95))

sapply(new_df, function(x) sum(is.na(x)))

Dalam contoh ini, kami menjana DataFrame 'new_df' dengan tiga lajur - 'c1', 'c2', dan 'c3'. Lajur pertama, 'c1' dan 'c3', mengandungi nilai angka termasuk beberapa nilai yang hilang yang diwakili oleh NA. Lajur kedua, 'c2', mengandungi aksara termasuk beberapa nilai yang hilang yang turut diwakili oleh NA. Kemudian, kami menggunakan fungsi sapply() pada DataFrame 'new_df' dan mengira bilangan nilai yang hilang dalam setiap lajur menggunakan ungkapan sum() dalam fungsi sapply().

Fungsi is.na() ialah ungkapan yang ditentukan kepada fungsi sum() yang mengembalikan vektor logik yang menunjukkan sama ada setiap elemen dalam lajur tiada atau tidak. Fungsi sum() menambah nilai TRUE untuk mengira bilangan nilai yang hilang dalam setiap lajur.

Oleh itu, output memaparkan jumlah nilai NA dalam setiap lajur:

Contoh 5: Menggunakan Fungsi Dim().

Selain itu, kami ingin mendapatkan jumlah lajur bersama-sama dengan baris DataFrame. Kemudian, fungsi dim() menyediakan dimensi DataFrame. Fungsi dim() mengambil objek sebagai hujah yang dimensinya ingin kami dapatkan semula. Berikut ialah kod untuk menggunakan fungsi dim():

d1 <- data.frame(team=c('t1', 't2', 't3', 't4'),

mata=c(8, 10, 7, 4))

malap(d1)

Dalam contoh ini, kami mula-mula mentakrifkan DataFrame 'd1' yang dijana menggunakan fungsi data.frame() di mana dua lajur ditetapkan 'pasukan' dan 'mata'. Selepas itu, kami menggunakan fungsi dim() ke atas DataFrame 'd1'. Fungsi dim() mengembalikan bilangan baris dan lajur DataFrame. Oleh itu, apabila kita menjalankan dim(d1), ia mengembalikan vektor dengan dua elemen - yang pertama menggambarkan bilangan baris dalam DataFrame 'd1' dan yang kedua mewakili bilangan lajur.

Output mewakili dimensi DataFrame di mana nilai '4' menunjukkan jumlah lajur dan nilai '2' mewakili baris:

Kesimpulan

Kini kami mengetahui bahawa mengira bilangan lajur dalam R ialah operasi yang mudah dan penting yang boleh dilakukan pada DataFrame. Di antara semua fungsi, fungsi ncol() adalah cara yang paling mudah. Kini, kami sudah biasa dengan cara yang berbeza untuk mendapatkan bilangan lajur daripada DataFrame yang diberikan.