Từ nhập trực tiếp đến nhập từ cỏc nguồn khỏc nhau Sau đõy là những cỏch thụng dụng nhất:

Một phần của tài liệu Khai thác phần mềm r để xử lí số liệu chuỗi thời gian thông qua mô hình arima (Trang 31 - 36)

thụng dụng nhất:

2.1.7.1 Nhập số liệu trực tiếp: c(…)

Để nhập số liệu trực tiếp chỳng ta sử dụng hàm c(). Lệnh này cho phộp chỳng ta tạo ra một cột dữ liệu. Cỳ phỏp của hàm này:

>ten.bien.lưu.du.lieu<-c(phan.tu.thu.1,…,phan.tu.thu.n)

Vớ dụ. Chỳng ta thu thập số liệu giỏ bỏn, giỏ mua vàng SJC trong 500 ngày bắt

TT gia.mua gia.ban 1 18.640000 18.740000 2 18.750000 18.850000 … … … 499 28.320000 28.400000 500 28.340000 28.410000 Chỳng ta cú thể sử dụng hàm cú tờn c() như sau: >TT<- c(1,2,…,499,500) >gia.mua <- c(18.64,18.75,…,28.32,28.34) >gia.ban <- c (18.74,18.85,…,28.40,28,41)

Lệnh thứ nhất cho R biết rằng chỳng ta muốn tạo ra một cột dữ liệu với

biến số cú tờn là TT , lệnh thứ hai là tạo ra một cột khỏc cú tờn là gia.mua, lệnh thứ ba là tạo ra một cột khỏc cú tờn là gia.ban. Tất nhiờn, chỳng ta cú thể lấy một tờn khỏc mà mỡnh thớch. Chỳng ta dựng hàm c() (chữ c viết tắt của chữ concatenation – cú nghĩa là múc nối vào nhau) để nhập dữ liệu. Chỳ ý rằng mỗi số liệu giỏ vàng theo từng ngày được cỏch nhau bằng một dấu phẩy.

Kớ hiệu gia.mua <- cũng cú thể viết là gia.mua= cú nghĩa là cỏc số liệu theo sau sẽ cú nằm trong biến số gia.mua. R là một ngụn ngữ cấu trỳc theo dạng đối tượng (thuật ngữ chuyờn mụn là object-oriented language), vỡ mỗi cột số liệu hay mỗi một data.frame là một đối tượng đối với R. Vỡ thế,

TT,gia.mua và gia.ban là ba đối tượng riờng lẻ. Bõy giờ chỳng ta cần phải

nhập ba đối tượng này thành một data.frame để R cú thể xử lớ sau này. Để làm việc này chỳng ta cần đến function data.frame.

Cỳ phỏp lệnh như sau:

>ten.bien.luu.tru<-data.frame(tham.so.1,…,tham.so.n)

Vớ dụ.

> giavangSJC<-data.frame(time,gia.mua,gia.ban)

Trong lệnh này, chỳng ta muốn cho R biết rằng nhập ba cột (hay ba đối tượng) time,gia.mua,gia.ban vào một đối tượng cú tờn là gia.vang.

Đến đõy thỡ chỳng ta đó cú một đối tượng hoàn chỉnh để tiến hành phõn tớch thống kờ.

Để kiểm tra xem trong gia.vangSJC chứa dữ liệu gỡ thỡ chỳng ta chỉ cần đơn giản lệnh:

> giavangSJC

Nếu chỳng ta muốn lưu lại bảng số liệu này trong một file theo định dạng của R, cần dựng lệnh save với cỳ phỏp sau:

>save(tờn.biến,tờnfile.rda)

Khi đú biến sẽ được lưu vào ổ đĩa với vị trớ được xỏc định bởi lệnh setwd().

Cỳ phỏp của lệnh này:

>setwd(“tờn.đường.dẫn.mà.ta.muốn.lưu.file”)

Giả sử như chỳng ta muốn lưu số liệu trong thư mục cú tờn là:

“D:/R thuc hanh”

Chỳng ta cần gừ như sau:

>setwd(“D:/R thuc hanh”)

>save(giavangSJC,file=”giavangSJC.rda”)

Lệnh đầu tiờn cho R biết rằng chỳng ta muốn lưu cỏc số liệu trong thư mục “R thuc hanh” cú đường dẫn như sau “D:/R thuc hanh”.

Lệnh thứ hai save() cho R biết rằng cỏc số liệu trong đối tượng

giavangSJC sẽ lưu trong file cú tờn là giavangSJC.rda. Sau khi gừ xong

hai lệnh trờn, một file cú tờn giavangSJC.rda sẽ cú mặt trong thư mục

“D:/Rthuc hanh”.

2.1.7.2 Nhập số liệu trực tiếp: edit(data.frame(…))

Chỳng ta cú thể nhập trực tiếp số liệu bằng hàm edit(data.frame()). Cỳ phỏp lệnh như sau:

Với hàm này, R sẽ cung cấp cho chỳng ta một cửa sổ mới với cỏc cột và dũng giống như cửa sổ làm việc của Excel, và chỳng ta cú thể cú thể nhập số liệu trong bảng đú một cỏch dễ dàng.

Vớ dụ. Cần nhập số liệu giỏ vàng SJC trong 500 ngày bắt đầu là ngày 10/02/2009 đến ngày 24/06/2010. Bảng số liệu cụ thể ở phần phụ lục.

TT time gia.mua gia.ban 1 10/02/2009 18.640000 18.740000 2 11/02/2009 18.750000 18.850000 3 12/02/2009 18.880000 18.970000 … … … … 499 23/06/2010 28.320000 28.400000 500 24/06/2010 28.340000 28.410000 Ta dựng lệnh sau: > giavang <- edit(data.frame())

Một cửa sổ sẽ hiện ra như sau:

Ở đõy, R khụng biết chỳng ta cú biến số nào, cho nờn R liệt kờ cỏc biến số

var1, var2, v.v… Nhấp chuột vào cột var1 và thay đổi bằng cỏch gừ vào đú

time. Nhấp chuột vào cột var2 và thay đổi bằng cỏch gừ vào đú gia.mua. Nhấp chuột vào cột var3 và thay đổi bằng cỏch gừ vào đú gia.ban. Sau đú gừ số liệu cho từng cột. Sau khi xong, click vào biểu tượng close ở gúc phải của bảng tớnh “spreadsheet”, chỳng ta sẽ cú một data.frame tờn

giavangSJC với ba biến số time,gia.mua,gia.ban. Nếu chỳng ta muốn lưu file giavangSJC với định dạng của R thỡ cũng làm tương tự như trờn.

2.1.7.3 Nhập số liệu từ 1 text file: read.table

Trong trường hợp đó cú sẵn dữ liệu dưới dạng text file, thỡ khụng cần phải nhập lại dữ liệu bằng cỏc cỏch trực tiếp như trờn mà chỳng ta sẽ sử dụng hàm

read.table để đọc dữ liệu từ text file vào R. Cấu trỳc lệnh như sau:

Ten.bien.luu.du.lieu<-

read.table(“duong.dan.den.file.txt”, header=TRUE)

Tham số HEADER = true cho R biết chỳng ta muốn chọn dũng đầu tiờn của file txt làm tờn của cỏc cột. Sau khi thực hiện lệnh này chỳng ta đó cú một đối tượng chuẩn của R để lưu trữ dữ liệu của file txt ban đầu. Chỳng ta cú thể lưu lại đối tượng này cho cỏc lần làm việc sau bằng lệnh save() đó được giới thiệu ở trờn.

Vớ dụ.Chỳng ta cú dữ liệu giỏ vàng SJC được lưu dưới dang text file cú tờn

giavangSJC.txt tại thư mục: “D:/R thuc hanh” như sau:

TT time gia.mua gia.ban 1 10/02/2009 18.640000 18.740000 2 11/02/2009 18.750000 18.850000

… … … …

499 23/06/2010 28.320000 28.400000500 24/06/2010 28.340000 28.410000 500 24/06/2010 28.340000 28.410000

và chỳng ta muốn nhập cỏc dữ liệu này vào R để tiện việc phõn tớch sau này.

>setwd(“D:/R thuc hanh”)

>giavangSJC<-read.table(“D:/R thu chanh/giavangSJC.txt”, header=TRUE)

Lệnh thứ nhất chỳng ta muốn đảm bảo R truy nhập đỳng thư mục mà số liệu đang được lưu giữ.

Lệnh thứ hai yờu cầu R nhập số liệu từ file cú tờn là “giavangSJC.txt” trong thư mục C:/R thuc hanh và cho vào đối tượng giavangSJC. Trong

lệnh này, header=TRUE cú nghĩa là yờu cầu R đọc dũng đầu tiờn trong file đú như là tờn của từng cột dữ kiện.

Cú thể kiểm tra xem R đó đọc hết cỏc dữ liệu hay chưa bằng cỏch:

> giavangSJC

Hoặc

>names(giavangSJC)

[1] "TT" "time" "gia.mua" "gia.ban"

Một phần của tài liệu Khai thác phần mềm r để xử lí số liệu chuỗi thời gian thông qua mô hình arima (Trang 31 - 36)

w