R Data Frame: Cara Membuat, Menambahkan, Memilih & Subset
Apa itu Bingkai Data?
A bingkai data adalah daftar vektor-vektor yang panjangnya sama. Matriks hanya berisi satu tipe data, sedangkan bingkai data menerima tipe data berbeda (numerik, karakter, faktor, dll.).
Cara Membuat Bingkai Data
Kita dapat membuat kerangka data di R dengan meneruskan variabel a,b,c,d ke dalam fungsi data.frame(). Kita dapat membuat kerangka data dan memberi nama kolom dengan name() dan cukup menentukan nama variabelnya.
data.frame(df, stringsAsFactors = TRUE)
kasus:
- df: Ini bisa berupa matriks untuk diubah sebagai bingkai data atau kumpulan variabel untuk digabungkan
- stringAsFactors: Mengonversi string menjadi faktor secara default
Kita dapat membuat kerangka data di R untuk kumpulan data pertama kita dengan menggabungkan empat variabel dengan panjang yang sama.
# Create a, b, c, d variables a <- 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 frame df <- data.frame(a,b,c,d) df
Keluaran:
## a b c d ## 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
Kita dapat melihat header kolom memiliki nama yang sama dengan variabelnya. Kita dapat mengubah nama kolom di R dengan fungsi nama(). Periksa contoh R membuat kerangka data di bawah ini:
# Name the data frame names(df) <- c('ID', 'items', 'store', 'price') df
Keluaran:
## 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 structure str(df)
Keluaran:
## '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 default, bingkai data mengembalikan variabel string sebagai faktor.
Bingkai Data Iris
Dimungkinkan untuk SLICE nilai-nilai Bingkai Data. Kami memilih baris dan kolom untuk dikembalikan ke dalam kurung didahului dengan nama bingkai data.
Bingkai data terdiri dari baris dan kolom, df[A, B]. A mewakili baris dan B mewakili kolom. Kita dapat mengirisnya dengan menentukan baris dan/atau kolom.
Dari gambar 1, bagian kiri mewakili baris, dan bagian kanan adalah kolom. Perhatikan bahwa simbol : berarti untuk. Misalnya, 1:3 bermaksud memilih nilai dari 1 untuk 3.
Dalam diagram di bawah ini kami menampilkan cara mengakses berbagai pilihan bingkai data:
- Panah kuning memilih baris 1 di kolom 2
- Panah hijau memilih baris 1 untuk 2
- Panah merah memilih kolom 1
- Panah biru memilih baris 1 hingga 3 dan kolom 3 untuk 4
Perhatikan bahwa, jika kita membiarkan bagian kiri kosong, R akan memilih semua baris. Analoginya, jika bagian kanan dikosongkan, R akan memilih semua kolom.
Kita dapat menjalankan kode di konsol:
## Select row 1 in column 2 df[1,2]
Keluaran:
## [1] book ## Levels: book pen pencil_case textbook
## Select Rows 1 to 2 df[1:2,]
Keluaran:
## ID items store price ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0
## Select Columns 1 df[,1]
Keluaran:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4 df[1:3, 3:4]
Keluaran:
## store price ## 1 TRUE 2.5 ## 2 FALSE 8.0 ## 3 TRUE 10.0
Dimungkinkan juga untuk memilih kolom dengan namanya. Misalnya, kode di bawah ini mengekstrak dua kolom: ID dan penyimpanan.
# Slice with columns name df[, c('ID', 'store')]
Keluaran:
## ID store ## 1 10 TRUE ## 2 20 FALSE ## 3 30 TRUE ## 4 40 FALSE
Tambahkan Kolom ke Bingkai Data
Anda juga dapat menambahkan kolom ke Bingkai Data. Anda perlu menggunakan simbol $ untuk menambahkan variabel kerangka data R dan menambahkan kolom ke kerangka data di R.
# Create a new vector quantity <- c(10, 35, 40, 5) # Add `quantity` to the `df` data frame df$quantity <- quantity df
Keluaran:
## 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 jumlah elemen dalam bingkai data. Menjalankan pernyataan berikut untuk menambahkan kolom ke bingkai data R
quantity <- c(10, 35, 40) # Add `quantity` to the `df` data frame df$quantity <- quantity
Memberikan kesalahan:
Error in ` lt;-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40)) replacement has 3 rows, data has 4
Pilih Kolom Bingkai Data
Terkadang, kita perlu menyimpan kolom dari kerangka data untuk penggunaan di masa mendatang atau melakukan operasi pada kolom. Kita dapat menggunakan tanda $ untuk memilih kolom dari kerangka data.
# Select the column ID df$ID
Keluaran:
## [1] 1 2 3 4
Subset Bingkai Data
Di bagian sebelumnya, kami memilih seluruh kolom tanpa syarat. Apakah mungkin untuk bagian berdasarkan benar atau tidaknya kondisi tertentu.
Kami menggunakan fungsi subset().
subset(x, condition) arguments: - x: data frame used to perform the subset - condition: define the conditional statement
Kami hanya ingin mengembalikan barang dengan harga di atas 10, yang dapat kami lakukan:
# Select price above 5 subset(df, subset = price > 5)
Keluaran:
ID items store price 2 20 pen FALSE 8 3 30 textbook TRUE 10 4 40 pencil_case FALSE 7