R Data Frame: Cara Membuat, Menambahkan, Memilih & Subset

Daftar Isi:

Anonim

Apa itu Data Frame?

Sebuah frame data adalah daftar vektor yang panjang yang sama. Matriks hanya berisi satu jenis data, sedangkan bingkai data menerima jenis data yang berbeda (numerik, karakter, faktor, dll.).

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Data Frame?
  • Cara Membuat Bingkai Data
  • Tambahkan Kolom ke Bingkai Data
  • Pilih Kolom Bingkai Data
  • Membuat subset Bingkai Data

Cara Membuat Bingkai Data

Kita bisa membuat dataframe di R dengan meneruskan variabel a, b, c, d ke dalam fungsi data.frame (). Kita dapat R membuat dataframe dan menamai kolom dengan name () dan cukup menentukan nama variabel.

data.frame(df, stringsAsFactors = TRUE)

Argumen :

  • df : Ini bisa berupa matriks untuk diubah sebagai bingkai data atau kumpulan variabel untuk digabungkan
  • stringsAsFactors : Ubah 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 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

Keluaran:

## 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 bisa melihat tajuk kolom memiliki nama yang sama dengan variabel. Kita bisa mengubah nama kolom di R dengan nama fungsi (). Periksa contoh R create dataframe di bawah ini:

# Name the data framenames(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 structurestr(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.

Slice Data Frame

Dimungkinkan untuk meng-SLICE nilai Bingkai Data. Kami memilih baris dan kolom untuk kembali ke dalam tanda kurung didahului dengan nama bingkai data.

Sebuah bingkai data terdiri dari baris dan kolom, df [A, B]. A mewakili baris dan B kolom. Kita dapat mengiris baik dengan menentukan baris dan / atau kolom.

Dari gambar 1, bagian kiri mewakili baris, dan bagian kanan adalah kolom . Perhatikan bahwa simbol: cara untuk . Misalnya, 1: 3 bermaksud memilih nilai dari 1 hingga 3.

Pada 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 hingga 2
  • Panah merah memilih kolom 1
  • Panah biru memilih baris 1 sampai 3 dan kolom 3 sampai 4

Perhatikan bahwa, jika kita membiarkan bagian kiri kosong, R akan memilih semua baris . Dengan analogi, jika kita membiarkan bagian kanan kosong, R akan memilih semua kolom .

Kami dapat menjalankan kode di konsol:

## Select row 1 in column 2df[1,2]

Keluaran:

## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]

Keluaran:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]

Keluaran:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[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 namedf[, 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 dataframe R dan menambahkan kolom ke dataframe di R.

# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf

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 dataframe R

quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity

Memberikan kesalahan:

Error in `$<-.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 bingkai data untuk digunakan di masa mendatang atau melakukan operasi pada kolom. Kita dapat menggunakan tanda $ untuk memilih kolom dari bingkai data.

# Select the column IDdf$ID

Keluaran:

## [1] 1 2 3 4

Membuat subset Bingkai Data

Di bagian sebelumnya, kami memilih seluruh kolom tanpa kondisi. Dimungkinkan untuk membuat subset berdasarkan apakah suatu kondisi 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 hanya ingin mengembalikan barang dengan harga di atas 10, kami dapat melakukan:

# Select price above 5subset(df, subset = price > 5)

Keluaran:

ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7