Apa itu Rangka Data?
A frame data adalah senarai vektor yang sama panjang. Matriks hanya mengandungi satu jenis data, sementara kerangka data menerima jenis data yang berbeza (angka, watak, faktor, dll.).
Dalam tutorial ini, anda akan belajar-
- Apa itu Rangka Data?
- Cara Membuat Rangka Data
- Tambahkan Lajur ke Bingkai Data
- Pilih Lajur Bingkai Data
- Subset Rangka Data
Cara Membuat Rangka Data
Kita dapat membuat kerangka data di R dengan meneruskan pemboleh ubah a, b, c, d ke dalam fungsi data.frame (). Kita dapat membuat kerangka data dan menamakan lajur dengan nama () dan hanya menentukan nama pemboleh ubah.
data.frame(df, stringsAsFactors = TRUE)
Hujah :
- df : Ini boleh menjadi matriks untuk menukar sebagai kerangka data atau kumpulan pemboleh ubah untuk bergabung
- stringsAsFactors : Menukar rentetan menjadi faktor secara lalai
Kami dapat membuat kerangka data dalam R untuk kumpulan data pertama kami dengan menggabungkan empat pemboleh ubah dengan panjang yang sama.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Pengeluaran:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Kita dapat melihat tajuk lajur mempunyai nama yang sama dengan pemboleh ubah. Kita boleh menukar nama lajur di R dengan nama fungsi (). Lihat contoh kerangka data R buat di bawah:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Pengeluaran:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Pengeluaran:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
Secara lalai, bingkai data mengembalikan pemboleh ubah rentetan sebagai faktor.
Rangka Data Slice
Adalah mungkin untuk SLICE nilai Bingkai Data. Kami memilih baris dan lajur untuk kembali ke kurungan yang didahului dengan nama bingkai data.
Rangka data terdiri daripada baris dan lajur, df [A, B]. A mewakili baris dan B lajur. Kita boleh memotong sama ada dengan menentukan baris dan / atau lajur.
Dari gambar 1, bahagian kiri mewakili baris, dan bahagian kanan adalah lajur . Perhatikan bahawa simbol: cara untuk . Contohnya, 1: 3 bermaksud memilih nilai dari 1 hingga 3.
Dalam rajah di bawah ini kami menunjukkan cara mengakses berbagai pilihan kerangka data:
- Anak panah kuning memilih baris 1 pada lajur 2
- Anak panah hijau memilih baris 1 hingga 2
- Anak panah merah memilih lajur 1
- Anak panah biru memilih baris 1 hingga 3 dan lajur 3 hingga 4
Perhatikan bahawa, jika kita membiarkan bahagian kiri kosong, R akan memilih semua baris . Secara analogi, jika kita membiarkan bahagian kanan kosong, R akan memilih semua lajur .
Kita boleh menjalankan kod di konsol:
## Select row 1 in column 2df[1,2]
Pengeluaran:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Pengeluaran:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Pengeluaran:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Pengeluaran:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Anda juga boleh memilih lajur dengan namanya. Contohnya, kod di bawah mengekstrak dua lajur: ID dan stor.
# Slice with columns namedf[, c('ID', 'store')]
Pengeluaran:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Tambahkan Lajur ke Bingkai Data
Anda juga dapat menambahkan lajur ke Bingkai Data. Anda perlu menggunakan simbol $ untuk menambahkan pemboleh ubah kerangka data R dan menambahkan lajur ke kerangka data di R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Pengeluaran:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Catatan: Jumlah elemen dalam vektor harus sama dengan bilangan elemen dalam bingkai data. Melaksanakan pernyataan berikut untuk menambahkan lajur ke kerangka data R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Memberi ralat:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Pilih Lajur Bingkai Data
Kadang-kadang, kita perlu menyimpan lajur kerangka data untuk penggunaan di masa depan atau melakukan operasi pada lajur. Kita boleh menggunakan tanda $ untuk memilih lajur dari kerangka data.
# Select the column IDdf$ID
Pengeluaran:
## [1] 1 2 3 4
Subset Rangka Data
Pada bahagian sebelumnya, kami memilih keseluruhan lajur tanpa syarat. Kemungkinan untuk membuat subset berdasarkan apakah syarat tertentu itu benar atau tidak.
Kami menggunakan fungsi subset ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Kami ingin mengembalikan hanya barang dengan harga di atas 10, kami boleh melakukan:
# Select price above 5subset(df, subset = price > 5)
Pengeluaran:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7