| Kontak | : \(\downarrow\) |
| evelin.samaliwu@student.matanauniversity.ac.id | |
| RPubs | https://rpubs.com/evelintrivena/ |
| Jurusan | Fisika Medis |
R adalah bahasa pemrograman yang banyak digunakan untuk analisis statistik. Menghubungkan dengan data merupakan hal yang paling mendasar dalam pengolahan data. Berikut adalah cara menggunakan bahasa pemrograman R dalam proses antarmuka data yang sangat sederhana. Secara garis besar, R dapat membaca data dari file yang tersimpan di dalam dan di luar direktorinya. Tidak hanya itu, sistem operasi R juga dapat mengimpor dan mengekspor data dalam berbagai format file, seperti csv, excel, txt, rds, xml, json, dll.
Ada beberapa cara yang bisa digunakan untuk melakukan impor dan ekspor data dengan menggunakan R. Berikut ini, 3 cara yang dapat dilakukan :
Pertama, pastikan working directory sudah tepat. untuk mendapatkan informasi working directory / lokasinya dapat mengunakan fungsi getwd()
print(getwd())## [1] "C:/Users/Acer.LAPTOP-FHQA6U69/Documents/data"
getwd()## [1] "C:/Users/Acer.LAPTOP-FHQA6U69/Documents/data"
Untuk mengubah / mengatur working directory baru dapat menggunakan fungsi setwd()
setwd(getwd())read.csv()df1 <- read.csv("input/input1.csv", sep=",")
df1## id name salary start_date dept
## 1 1 Julian 623.00 1/1/2022 DS
## 2 2 Vanessa 515.00 9/23/2022 DS
## 3 3 Jeffry 611.00 11/15/2022 BA
## 4 4 Angel 729.00 5/11/2022 DA
## 5 5 Nikki 843.25 3/27/2022 DS
## 6 6 Ardifo 578.00 5/21/2022 Actuaries
## 7 7 Irene 722.50 7/30/2022 Actuaries
## 8 8 Kefas 632.79 6/17/2022 CA
## 9 9 Sherly 632.79 7/30/2022 DE
## 10 10 Bakti NA 9/3/2018 Lecturer
df2 <- read.csv("input/input2.csv", sep=";")
df2## id name salary start_date dept
## 1 1 Julian 623,3 2022-01-01 DS
## 2 2 Vanessa 515,2 2022-09-23 DS
## 3 3 Jeffry 611 2022-11-15 BA
## 4 4 Angel 729 2022-05-11 DA
## 5 5 Nikki 843,25 2022-03-27 DS
## 6 6 Ardifo 578 2022-05-21 Actuaries
## 7 7 Irene 722,5 2022-07-30 Actuaries
## 8 8 Kefas 632,8 2022-06-17 CA
## 9 9 Sherly 632,8 2022-07-30 DE
## 10 10 Bakti <NA> 2018-09-03 Lecturer
write.csv() Ekspor data (menyimpan data) csv ke directory yang diinginkan dapa menggunakan fungsi write.csv() untuk file yang menggunakan simbol koma(,) sebagai delimiternya, dan menggunakan fungsi write.csv2() untuk file csv yang menggunakan titik koma (;) sebagai delimiternya.write.csv(df1,"output/test1.csv", row.names=FALSE)
write.csv(df2,"output/test2.csv", row.names=FALSE)Koneksi directory secara automatis, dapat dilakukan dengan cara berikut.
# setting directory
(swd<-getwd())## [1] "C:/Users/Acer.LAPTOP-FHQA6U69/Documents/data"
if (!is.null(swd)) setwd(swd)df1<-read.csv(file.path(swd,'input', 'input1.csv'))
df1## id name salary start_date dept
## 1 1 Julian 623.00 1/1/2022 DS
## 2 2 Vanessa 515.00 9/23/2022 DS
## 3 3 Jeffry 611.00 11/15/2022 BA
## 4 4 Angel 729.00 5/11/2022 DA
## 5 5 Nikki 843.25 3/27/2022 DS
## 6 6 Ardifo 578.00 5/21/2022 Actuaries
## 7 7 Irene 722.50 7/30/2022 Actuaries
## 8 8 Kefas 632.79 6/17/2022 CA
## 9 9 Sherly 632.79 7/30/2022 DE
## 10 10 Bakti NA 9/3/2018 Lecturer
df2<-read.csv(file.path(swd,'input', 'input2.csv'))
df2## id.name.salary.start_date.dept
## 1 1;Julian;623,3;2022-01-01;DS
## 2 2;Vanessa;515,2;2022-09-23;DS
## 3 3;Jeffry;611;2022-11-15;BA
## 4 4;Angel;729;2022-05-11;DA
## 5 5;Nikki;843,25;2022-03-27;DS
## 6 6;Ardifo;578;2022-05-21;Actuaries
## 7 7;Irene;722,5;2022-07-30;Actuaries
## 8 8;Kefas;632,8;2022-06-17;CA
## 9 9;Sherly;632,8;2022-07-30;DE
## 10 10;Bakti;NA;2018-09-03;Lecturer
write.csv(df1, file.path(swd, 'output', 'output1.csv'), row.names = FALSE)
write.csv(df2, file.path(swd, 'output', 'output2.csv'), row.names = FALSE)Cara ini merupakan langkah alternatif, untuk dapat mengimpor dan mengekspor data csv dengan memilih data yang disimpan tanpa mengatur direktori terlebih dahulu. Fungsi yang digunakan adalah file.choose()
df<-read.csv(file.choose())
df## id name salary start_date dept
## 1 1 Julian 623.00 1/1/2022 DS
## 2 2 Vanessa 515.00 9/23/2022 DS
## 3 3 Jeffry 611.00 11/15/2022 BA
## 4 4 Angel 729.00 5/11/2022 DA
## 5 5 Nikki 843.25 3/27/2022 DS
## 6 6 Ardifo 578.00 5/21/2022 Actuaries
## 7 7 Irene 722.50 7/30/2022 Actuaries
## 8 8 Kefas 632.79 6/17/2022 CA
## 9 9 Sherly 632.79 7/30/2022 DE
## 10 10 Bakti NA 9/3/2018 Lecturer
Microsoft Excel merupakan program spreadsheet yang paling banyak digunakan untuk menyimpan data dalam bentuk .xls atau .xlsx . R dapat menggunakan packages readxl dan writexl untuk membaca langsung dari file-file ini.
# install.packages(c("readxl", "writexl")) # install `readxl & writexl`
pacman::p_load(readxl, writexl) # load `readxl & writexl`df3<-read_excel("Input/input4.xls") # impor data xls (97-2003)
df3## # A tibble: 14 x 5
## id name salary start_date dept
## <dbl> <chr> <chr> <chr> <chr>
## 1 1 Julian 623 44562 DS
## 2 2 Vanessa 515 44827 DS
## 3 3 Jeffry 611 44880 BA
## 4 4 Angel 729 44692 DA
## 5 5 Nikki 843.25 44647 DS
## 6 6 Ardifo 578 44702 Actuaries
## 7 7 Irene 722.5 44772 Actuaries
## 8 8 Kefas 632.79 44729 CA
## 9 9 Sherly 632.79 44772 DE
## 10 10 Bakti NA 43346 Lecturer
## 11 11 Ardifo 632.79 44711 DA
## 12 12 Siana 632.79 2/30/2022 BA
## 13 13 Fallen 632.79 44742 DS
## 14 14 Lala 632.79 44650 BA
df4<-read_excel("Input/input3.xlsx",sheet=1) # impor data xlsx (2003-up)
df4## # A tibble: 14 x 5
## id name salary start_date dept
## <dbl> <chr> <chr> <chr> <chr>
## 1 1 Julian 623 44562 DS
## 2 2 Vanessa 515 44827 DS
## 3 3 Jeffry 611 44880 BA
## 4 4 Angel 729 44692 DA
## 5 5 Nikki 843.25 44647 DS
## 6 6 Ardifo 578 44702 Actuaries
## 7 7 Irene 722.5 44772 Actuaries
## 8 8 Kefas 632.79 44729 CA
## 9 9 Sherly 632.79 44772 DE
## 10 10 Bakti NA 43346 Lecturer
## 11 11 Ardifo 632.79 44711 DA
## 12 12 Siana 632.79 2/30/2022 BA
## 13 13 Fallen 632.79 44742 DS
## 14 14 Lala 632.79 44650 BA
write_xlsx(df3,"output/output3.xls")
write_xlsx(df4,"output/output4.xlsx")Format data ini banyak digunakan untuk file/data yang lebih besar. Dalam format CSV dan Excel ukuran filenya cenderung lebih besar dibandingkan format TXT atau file biner R (RDS). Sehingga data dalam format CSV atau Excel akan dicompress menjadi TXT atau RDS.
df5<-read.table('input/input5.txt')
df5## id name salary start_date dept
## 1 1 Julian 623,3 1/1/2022 DS
## 2 2 Vanessa 515,2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 DA
## 5 5 Nikki 843,25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722,5 7/30/2022 Actuaries
## 8 8 Kefas 632,8 6/17/2022 CA
## 9 9 Sherly 632,8 7/30/2022 DE
## 10 10 Bakti <NA> 9/3/2018 Lecturer
df6<-source('input/input6.Rdmpd')
df6## $value
## id name salary start_date dept
## 1 1 Julian 623,3 1/1/2022 DS
## 2 2 Vanessa 515,2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 DA
## 5 5 Nikki 843,25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722,5 7/30/2022 Actuaries
## 8 8 Kefas 632,8 6/17/2022 CA
## 9 9 Sherly 632,8 7/30/2022 DE
## 10 10 Bakti <NA> 9/3/2018 Lecturer
##
## $visible
## [1] FALSE
df7<-readRDS('input/input7.rds')
df7## id name salary start_date dept
## 1 1 Julian 623,3 1/1/2022 DS
## 2 2 Vanessa 515,2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 DA
## 5 5 Nikki 843,25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722,5 7/30/2022 Actuaries
## 8 8 Kefas 632,8 6/17/2022 CA
## 9 9 Sherly 632,8 7/30/2022 DE
## 10 10 Bakti <NA> 9/3/2018 Lecturer
df8<-readRDS('input/input8.ascii')
df8## # A tibble: 14 x 5
## id name salary start_date dept
## <dbl> <chr> <chr> <chr> <chr>
## 1 1 Julian 623 44562 DS
## 2 2 Vanessa 515 44827 DS
## 3 3 Jeffry 611 44880 BA
## 4 4 Angel 729 44692 DA
## 5 5 Nikki 843.25 44647 DS
## 6 6 Ardifo 578 44702 Actuaries
## 7 7 Irene 722.5 44772 Actuaries
## 8 8 Kefas 632.79 44729 CA
## 9 9 Sherly 632.79 44772 DE
## 10 10 Bakti NA 43346 Lecturer
## 11 11 Ardifo 632.79 44711 DA
## 12 12 Siana 632.79 2/30/2022 BA
## 13 13 Fallen 632.79 44742 DS
## 14 14 Lala 632.79 44650 BA
write.table(df5,'output/output5.txt')
dump('df6','output/output6.Rdmpd')
saveRDS(df7,'output/output7.rds')
saveRDS(df8,'output/output8.ascii',ascii=TRUE)XML adalah kumpulan berbagai format file dan data di World Wide Web, internet, dan di tempat lain menggunakan teks ASCII standar. XML merupakan singkatan dari eXtensible Markup Language yang berfungsi untuk menyederhanakan proses penyimpanan dan pengiriman data antarserver. XML dan HTML sangat mirip, sintaks nya berisi markup. Akan tetapi, fungsi utama XML adalah untuk menyimpan dan mengirimkan data. Sedangkan fungsi utama HTML adalah untuk menampilkan data. Untuk melakukan impor/ekspor dengan format XML perlu untuk menginstal packages XML, kulife, dan methods.
pacman::p_load(XML,kulife,methods) # Load packagesdf9<-xmlParse('input/input9.xml') # Impor data XML
xml_df<-xmlToDataFrame(df9) # Konversi dataframe
xml_df## id name salary start_date dept
## 1 1 Julian 623.3 1/1/2022 DS
## 2 2 Vanessa 515.2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 BA
## 5 5 Nikki 843.25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722.5 7/30/2022 Actuaries
## 8 8 Kefas 632.8 6/17/2022 CA
## 9 9 Sherly 632.8 7/30/2022 DE
## 10 10 Bakti NA 9/03/2018 Lecturer
write.xml(xml_df,'output/output9.xml') # Ekspor data XMLJavaScript Object Notation atau JSON adalah format yang digunakan untuk menyimpan dan mentransfer data. Untuk melakukan impor/ekspor file JSON perlu untuk menginstal packages jsonlite.
pacman::p_load(jsonlite) # Load packagesdf10<-fromJSON('input/input10.json') # Impor data JSON
json_df<-as.data.frame(df10) # Konversi dataframe
json_df## id name salary start_date dept
## 1 1 Julian 623.3 1/1/2022 DS
## 2 2 Vanessa 515.2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 DA
## 5 5 Nikki 843.25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722.5 7/30/2022 Actuaries
## 8 8 Kefas 632.8 6/17/2022 CA
## 9 9 Sherly 632.8 7/30/2022 DE
## 10 10 Bakti NA 9/3/2018 Lecturer
write_json(json_df,'output/output10.json') # Ekspor data JSONDengan program R, dapat dilakukan pengekstrakan data spesifik dari berbagai situs web secara terprogram.Berikut contoh mengimpor data dari web.
web_csv<-read.csv("https://github.com/Bakti-Siregar/dataset/raw/master/Bookdown-Data-Science-for-Beginners/csv1.csv")
web_csv## id name salary start_date dept
## 1 1 Julian 623,3 1/1/2022 DS
## 2 2 Vanessa 515,2 9/23/2022 DS
## 3 3 Jeffry 611 11/15/2022 BA
## 4 4 Angel 729 5/11/2022 DA
## 5 5 Nikki 843,25 3/27/2022 DS
## 6 6 Ardifo 578 5/21/2022 Actuaries
## 7 7 Irene 722,5 7/30/2022 Actuaries
## 8 8 Kefas 632,8 6/17/2022 CA
## 9 9 Sherly 632,8 7/30/2022 DE
## 10 10 Bakti <NA> 9/3/2018 Lecturer
Terlebih dahulu instal package rio untuk mengimpor data dari github
pacman::p_load(rio)
install_formats()## [1] TRUE
web_xlsx<-rio::import('https://github.com/Bakti-Siregar/dataset/blob/master/Bookdown-Data-Science-for-Beginners/xlsx1.xlsx?raw=true')
web_xlsx## id name salary start_date dept
## 1 1 Julian 623 2022-01-01 DS
## 2 2 Vanessa 515 2022-09-23 DS
## 3 3 Jeffry 611 2022-11-15 BA
## 4 4 Angel 729 2022-05-11 DA
## 5 5 Nikki 843.25 2022-03-27 DS
## 6 6 Ardifo 578 2022-05-21 Actuaries
## 7 7 Irene 722.5 2022-07-30 Actuaries
## 8 8 Kefas 632.79 2022-06-17 CA
## 9 9 Sherly 632.79 2022-07-30 DE
## 10 10 Bakti NA 2018-09-03 Lecturer
web_txt <- read.table # TXT
web_rds <- readRDS # RDS
web_ascii <- readRDS # ASCII
web_xml<- xmlParse # XML
xmlToDataFrame # Konversi dataframe
web_json <- fromJSON # JSON
as.data.frame # Konversi dataframeSistem basis data atau database adalah data relasional yang disimpan dalam format yang dinormalisasi/standar. Untuk melakukan perhitungan statistik dibutuhkan query SQL yang sangat canggih dan kompleks. Namun demikian, R dapat dengan mudah terhubung ke banyak database relasional seperti MySql, Oracle, dll. Setelah itu, biasanya basis data diubah menjadi dataframe. Setelah data tersedia di lingkungan R, kemudian dimanimulasi atau dianalisis lebih lanjut.
Pengikisan data dari web atau webscraping data adalah proses menggunakan bot untuk mengekstrak konten dan data dari sebuah website. Tidak seperti screen scraping yang hanya menyalin pixcel yang ditampilkan pada layar. Webscraping mengekstrak koda HTML yang mendasarinya , yang pada dasarnya disimpan dalam sebuah data set. Web scraping sangat berguna dalam bisnis online, baik itu untuk riset pasar, riset kompetitor, atau mencari leads. Namun, manfaatnya lebih dari sekedar itu.Kemudian, data tersebut disimpan dalam sebuah spreadsheet. Webscraping data dapat mereplikasi seluruh kontan dari berbagai situs web yang ditarget.