Dataframe adalah adalah tabel atau struktur seperti larik dua dimensi di mana setiap kolom berisi nilai dari satu variabel dan setiap baris berisi satu set nilai dari setiap kolom.
Ada beberapa karakteristik dari DataFarme antaralain sebagai berikut :
# Membuat DataFrame
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
# Print data frame.
print(emp.data)
## emp_id nama_karyawan gaji Tanggal_Masuk
## 1 1 Fahri 601.30 2012-01-01
## 2 2 Dilan 500.20 2013-09-23
## 3 3 Mirna 850.00 2014-11-15
## 4 4 Rian 300.00 2014-05-11
## 5 5 Rahmat 820.25 2015-03-27
Kita bisa melihat Struktur dari dataframe dengan menggunakan kodingan berikut str()
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
str(emp.data)
## 'data.frame': 5 obs. of 4 variables:
## $ emp_id : int 1 2 3 4 5
## $ nama_karyawan: chr "Fahri" "Dilan" "Mirna" "Rian" ...
## $ gaji : num 601 500 850 300 820
## $ Tanggal_Masuk: Date, format: "2012-01-01" "2013-09-23" ...
Dengan menggunakan summary() kita bisa memperoleh Ringkasan statistikny dan juga sifat data
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
print(summary(emp.data))
## emp_id nama_karyawan gaji Tanggal_Masuk
## Min. :1 Length:5 Min. :300.0 Min. :2012-01-01
## 1st Qu.:2 Class :character 1st Qu.:500.2 1st Qu.:2013-09-23
## Median :3 Mode :character Median :601.3 Median :2014-05-11
## Mean :3 Mean :614.4 Mean :2014-01-14
## 3rd Qu.:4 3rd Qu.:820.2 3rd Qu.:2014-11-15
## Max. :5 Max. :850.0 Max. :2015-03-27
Kita juga bisa mengekstrak kolom tertentu dari bingkai data menggunakan nama kolom.
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
result <- data.frame(emp.data$nama_karyawan,emp.data$gaji)
print(result)
## emp.data.nama_karyawan emp.data.gaji
## 1 Fahri 601.30
## 2 Dilan 500.20
## 3 Mirna 850.00
## 4 Rian 300.00
## 5 Rahmat 820.25
Percobaan mengekstrak dua baris pertama dan kemudian semua kolom
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
result <- emp.data[1:2,]
print(result)
## emp_id nama_karyawan gaji Tanggal_Masuk
## 1 1 Fahri 601.3 2012-01-01
## 2 2 Dilan 500.2 2013-09-23
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
result <- emp.data[c(3,5),c(2,4)]
print(result)
## nama_karyawan Tanggal_Masuk
## 3 Mirna 2014-11-15
## 5 Rahmat 2015-03-27
Dataframe dapat diperluas dengan menambahkan kolom dan baris.
emp.data <- data.frame(
emp_id = c (1:5),
nama_karyawan = c("Fahri","Dilan","Mirna","Rian","Rahmat"),
gaji = c(601.3,500.2,850.0,300.0,820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
emp.data$Posisi <- c("Programmer","Psikolog","Programmer","HR","Pengusaha")
v <- emp.data
print(v)
## emp_id nama_karyawan gaji Tanggal_Masuk Posisi
## 1 1 Fahri 601.30 2012-01-01 Programmer
## 2 2 Dilan 500.20 2013-09-23 Psikolog
## 3 3 Mirna 850.00 2014-11-15 Programmer
## 4 4 Rian 300.00 2014-05-11 HR
## 5 5 Rahmat 820.25 2015-03-27 Pengusaha
Untuk menambahkan lebih banyak baris secara permanen ke bingkai data yang ada, kita perlu memasukkan baris baru dalam struktur yang sama dengan bingkai data yang ada dan menggunakan fungsi rbind().
emp.data <- data.frame(
emp_id = c(1:5),
nama_karyawan = c("Fahri", "Dilan", "Mirna", "Rian", "Rahmat"),
gaji = c(601.3, 500.2, 850.0, 300.0, 820.25),
Tanggal_Masuk = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11", "2015-03-27")),
Posisi = c("Programmer", "Psikolog", "Programmer", "HR", "Pengusaha"),
stringsAsFactors = FALSE
)
emp.newdata <- data.frame(
emp_id = c(6:8),
nama_karyawan = c("Rasmi", "Danu", "Deo"),
gaji = c(570.0, 712.5, 532.8),
Tanggal_Masuk = as.Date(c("2013-05-21", "2013-07-30", "2014-06-17")),
Posisi = c("Programmer", "Psikolog", "Programmer"),
stringsAsFactors = FALSE
)
emp.finaldata <- rbind(emp.data, emp.newdata)
print(emp.finaldata)
## emp_id nama_karyawan gaji Tanggal_Masuk Posisi
## 1 1 Fahri 601.30 2012-01-01 Programmer
## 2 2 Dilan 500.20 2013-09-23 Psikolog
## 3 3 Mirna 850.00 2014-11-15 Programmer
## 4 4 Rian 300.00 2014-05-11 HR
## 5 5 Rahmat 820.25 2015-03-27 Pengusaha
## 6 6 Rasmi 570.00 2013-05-21 Programmer
## 7 7 Danu 712.50 2013-07-30 Psikolog
## 8 8 Deo 532.80 2014-06-17 Programmer