Data frame adalah struktur tabel 2 dimensi yang digunakan untuk menampung nilai-nilai. Dalam bingkai data, setiap kolom berisi nilai dari satu variabel dan juga setiap baris berisi nilai dari setiap kolom. Data frame dapat disimpan data numerik atau data karakter atau data tipe faktor. Untuk membuat bingkai data di R menggunakan vektor, pertama-tama kita harus memiliki serangkaian vektor yang berisi data.
Fungsi data.frame()
digunakan untuk membuat bingkai data
dari vektor di R.
data.frame(vektor)
Sekarang mari kita buat bingkai data dari vektor di R.
Di sini kita memiliki vektor untuk data siswa, dan kita harus
mengubahnya menjadi bingkai data.
Data frame menggunakan vektor :
# R program to illustrate
# data frame from vector
User.ID <- sprintf("Murid ke % d", 1:8)
Name <- c("Syamsul", "Gumilang", "Farros", "Nada",
"Brilian", "Rizal", "Deva", "Ciko")
gender <- c("Male", "Male", "Male", "Female",
"Male", "male", "Male", "male")
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
Number <- c('111-222', '222-333', '333-444', '444-666',
'333-888', '000-888-777', '999-000', '222-456')
class.df<- data.frame(User.ID, Name,
gender, Marks, Number)
class.df
## User.ID Name gender Marks Number
## 1 Murid ke 1 Syamsul Male 56 111-222
## 2 Murid ke 2 Gumilang Male 76 222-333
## 3 Murid ke 3 Farros Male 86 333-444
## 4 Murid ke 4 Nada Female 96 444-666
## 5 Murid ke 5 Brilian Male 73 333-888
## 6 Murid ke 6 Rizal male 87 000-888-777
## 7 Murid ke 7 Deva Male 47 999-000
## 8 Murid ke 8 Ciko male 98 222-456
Di sini, dalam contoh di atas, kami memiliki 5 vektor, Nama adalah vektor karakter dengan panjang 8, User.ID adalah vektor numerik dan semua vektor yang disebutkan di atas, dan dengan menggunakannya kami telah membuat bingkai data yang memiliki panjang kolom 8 dan panjang baris 5.
Setelah bingkai data dibuat, kami dapat menerapkan berbagai operasi bingkai data.
Dapatkan Struktur data frame :
str () fungsi digunakan untuk mendapatkan struktur bingkai data.
Contoh :
# R program to illustrate
# data frame from vector
User.ID <- sprintf("User % d", 1:8)
Name <- c("Syamsul", "Gumilang", "Farros", "Nada",
"Brilian", "Rizal", "Deva", "Ciko")
gender <- c("Male", "Male", "Male", "Female",
"Male", "Male", "Male", "Male")
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
Number <- c('111-222', '222-333', '333-444', '444-666',
'333-888', '000-888-777', '999-000', '222-456')
class.df<- data.frame(User.ID, Name,
gender, Marks, Number)
str(class.df)
## 'data.frame': 8 obs. of 5 variables:
## $ User.ID: chr "User 1" "User 2" "User 3" "User 4" ...
## $ Name : chr "Syamsul" "Gumilang" "Farros" "Nada" ...
## $ gender : chr "Male" "Male" "Male" "Female" ...
## $ Marks : num 56 76 86 96 73 87 47 98
## $ Number : chr "111-222" "222-333" "333-444" "444-666" ...
Di sini, di kode di atas menggunakan str()
fungsi kita
telah melihat struktur kerangka data.
Di R kita dapat mengakses kolom tertentu dari bingkai data menggunakan nama kolom.
# R program to illustrate
# data frame from vector
User.ID <- sprintf("User % d", 1:8)
Name <- c("Syamsul", "Gumilang", "Farros", "Nada",
"Brilian", "Rizal", "Deva", "Ciko")
gender <- c("Male", "Male", "Male", "Female",
"Male", "Male", "Male", "Male")
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
Number <- c('111-222', '222-333', '333-444', '444-666',
'333-888', '000-888-777', '999-000', '222-456')
class.df<- data.frame(User.ID, Name,
gender, Marks, Number)
extract<- data.frame(class.df$Name,
class.df$gender)
print(extract)
## class.df.Name class.df.gender
## 1 Syamsul Male
## 2 Gumilang Male
## 3 Farros Male
## 4 Nada Female
## 5 Brilian Male
## 6 Rizal Male
## 7 Deva Male
## 8 Ciko Male
Menambahkan kolom:
Untuk menambahkan kolom, kita hanya perlu menambahkan vektor kolom
baru di bingkai data.
Mari kita ambil contoh di atas untuk mengilustrasikan cara menambahkan
kolom.
# R program to illustrate
# data frame from vector
User.ID <- sprintf("Murid ke % d", 1:8)
Name <- c("Syamsul", "Gumilang", "Farros", "Nada",
"Brilian", "Rizal", "Deva", "Ciko")
gender <- c("Male", "Male", "Male", "Female",
"Male", "Male", "Male", "Male")
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
Number <- c('111-222', '222-333', '333-444', '444-666',
'333-888', '000-888-777', '999-000', '222-456')
class.df<- data.frame(User.ID, Name,
gender, Marks, Number)
class.df$New.column<- sprintf("new.data % d", 1:8)
modified.dataframe <- class.df
print(modified.dataframe)
## User.ID Name gender Marks Number New.column
## 1 Murid ke 1 Syamsul Male 56 111-222 new.data 1
## 2 Murid ke 2 Gumilang Male 76 222-333 new.data 2
## 3 Murid ke 3 Farros Male 86 333-444 new.data 3
## 4 Murid ke 4 Nada Female 96 444-666 new.data 4
## 5 Murid ke 5 Brilian Male 73 333-888 new.data 5
## 6 Murid ke 6 Rizal Male 87 000-888-777 new.data 6
## 7 Murid ke 7 Deva Male 47 999-000 new.data 7
## 8 Murid ke 8 Ciko Male 98 222-456 new.data 8