Bảng 2: Bảng dữ liệu nghiên cứu của 15 người với tên chol

Một phần của tài liệu Phân tích và xử lý dữ liệu bằng ngôn ngữ R (Trang 27 - 34)

Bảng 2: Bảng dữ liệu nghiên cứu của 15 người với tên chol

Trước khi vẽ đồ thì , ta bắt đầu bằng cách nhập dữ liệu vào R

> setwd("E:/works/insulin")

> cong <- read.table("chol.txt",header = TRUE) > attach(cong)

2.4.2 Biểu đồ cho một biến số rời rạc

Biến sex trong dữ liệu trên có hai giá trị (nam và nu), tức là một biến không liên tục. Chúng ta muốn biết tần số của giới tính (bao nhiêu nam và bao nhiêu nữ) và vẽ một biểu đồ đơn giản. Để thực hiện ý định này, trước hết, chúng ta cần dùng hàm table để biết tần số: > sex.freq <- table(sex) > sex.freq sex Nam Nu 8 7

Có 8 nam và 7 nữ trong nghiên cứu. Sau đó dùng hàm barplot để thể hiện tần số này như sau:

> barplot(sex.freq, main = "Frequency of males and females") or

Hình 3: Biểu đồ tần số giới tính thể hiện bằng cột số

Thay vì thể hiện tần số nam và nữ bằng 2 cột, chúng ta có thể thể hiện bằng hai dòng bằng thông số horiz = TRUE

> barplot(table(sex), main= "Frequency of males and females", horiz = TRUE)

Hình 4: Biểu đồ tần số giới tính thể hiện bằng dòng số 2.4.3 Biểu đồ cho hai biến số rời rạc : Barplot

Age là một biến số liên tục. Chúng ta có thể chia bệnh nhân thành nhiều nhóm dựa vào độ tuổi. Hàm cut có chức năng “cắt” một biến liên tục thành nhiều nhóm rời rạc. Chẳng hạn như:

> ageg<-cut (age ,3) > table (ageg)

ageg

(45,55.3] (55.3,65.7] (65.7,76] 3 11 1

Có hiệu quả chia biến age thành 3 nhóm. Tần số của ba nhóm này là: 45 tuổi đến 55,3 tuổi thành nhóm 1, 55,3 đến 65,7 thành nhóm 2, và 65,7 đến 76 tuổi thành nhóm 3. Nhóm 1 có 3 bệnh nhân, nhóm 2 và 3 có 11 và 1 bệnh nhân.

Để biết có bao nhiêu bệnh nhân trong từng độ tuổi và từng giới tính bằng lệnh

table: > age.sex<-table(sex,ageg) > age.sex ageg sex (45,55.3] (55.3,65.7] (65.7,76] Nam 2 5 1 Nu 1 6 0

Kết quả trên cho thấy chúng ta có 2 bệnh nhân nam và 1 nữ trong nhóm tuổi thứ nhất, 5 nam và 6 nữ trong nhóm tuổi thứ hai, v.v… Để thể hiện tần số của hai biến này, chúng ta vẫn dùng barplot:

> barplot(age.sex, main ="Number of males and females in each group")

Thay vì thể hiện tần số nam nữ trong một cột, chúng ta cũng có thể thể hiện bằng 2 cột với beside=T

> barplot(age.sex, beside = T, xlad= "age group")

Hình 6: Tần số giới tính và nhóm tuổi thể hiện bằng hai cột 2.4.4 Biểu đồ hình tròn

Tần số một biến rời rạc cũng có thể thể hiện bằng biểu đồ hình tròn. Ví dụ sau đây vẽ biểu đồ tần số của độ tuổi.

Hình 7: Tần số cho 3 nhóm tuổi

Chương 3: Làm viêc với dữ liệu trên R

Bên cạnh việc thực hiện chức năng như một công cụ tính toán, R cho phép chúng ta làm việc trên các bảng cơ sở dữ liệu như một hệ quản trị cơ sở dữ liệu thực thụ. Chúng ta có thể tương tác trực tiếp với dữ liệu để thực hiện các truy vấn và trích chọn thông tin từ một cơ sở dữ liệu.Nội dung của chương này sẽ giới thiệu cách làm việc với dữ liệu trong R.

3.1 Cách nhập dữ liệu vào R

”Văn phạm R” :R là một ngôn ngữ tương tác (interactive language), có nghĩa là khi chúng ta ra lệnh, và nếu lệnh theo đúng “văn phạm”, R sẽ “đáp” lại bằng một kết quả. Và, sự tương tác tiếp tục cho đến khi chúng ta đạt được yêu cầu. “Văn phạm” chung của R là một lệnh hay function. Mà đã là hàm thì phải có thông số, cho nên theo sau hàm là những thông số mà chúng ta phải cung cấp. Cú pháp chung của R là như sau:

đối tượng <- hàm(thông số 1, thông số 2, …, thông số n) (adsbygoogle = window.adsbygoogle || []).push({});

> reg <- lm(y ~ x)

Thì reg là một đối tượng (object), còn lm là một hàm, và y ~ x là thông số của hàm. Hay:

> setwd(“c:/works/stats”)

Thì setwd là một hàm, còn “c:/works/stats” là thông số của hàm.

Để biết một hàm cần có những thông số nào, chúng ta dùng lệnh args(x), (args viết tắt chữ arguments) mà trong đó x là một hàm chúng ta cần biết

Một số kí hiệu hay dùng trong R là:

x == 5 x bằng 5

x != 5 x không bằng 5 y < x y nhỏ hơn x x > y x lớn hơn y

z <= 7 z nhỏ hơn hoặc bằng 7 p >= 1 p lớn hơn hoặc bằng 1

is.na(x) Có phải x là biến số trống không (missing value) A & B A và B (AND)

A | B A hoặc B (OR) ! Không là (NOT)

3.1.1 Cách đặt tên trong R

Đặt tên một đối tượng (object) hay một biến số (variable) trong R khá linh hoạt, vì R không có nhiều giới hạn như các phần mềm khác. Tên một object phải được viết liền nhau (tức không được cách rời bằng một khoảng trống). Chẳng hạn như R chấp nhận myobject nhưng không chấp nhận my object.

> myobject <- rnorm(10) > my object <- rnorm(10)

Error: syntax error in "my object"

Nhưng đôi khi tên myobject khó đọc, nên chúng ta có thể dùng dấu “.”. Như

my.object.

> my.object <- rnorm(10)

Một điều quan trọng cần lưu ý là R phân biệt mẫu tự viết hoa và viết thường. Cho nên

My.object khác với my.object. Ví dụ:

> My.object.u <- 15 > my.object.L <- 5

> My.object.u + my.object.L [1] 20

Một vài điều cần lưu ý khi đặt tên trong R là:

- Không nên đặt tên một biến số hay variable bằng kí hiệu “_” (underscore) như

my_object hay my-object.

- Không nên đặt tên một object giống như một biến số trong một dữ liệu. Ví dụ, nếu chúng ta có một data.frame (dữ liệu hay dataset) với biến số age trong đó, thì không nên có một object trùng tên age, tức là không nên viết: age <- age. Tuy nhiên, nếu data.frame tên là data thì chúng ta có thể đề cập đến biến số age với một kí tự $ như sau: data$age. (Tức là biến số age trong data.frame data), và trong trường hợp đó, age <- data$age có thể chấp nhận được.

3.1.2 Cách nhập dữ liệu vào R

Muốn làm phân tích dữ liệu bằng R, chúng ta phải có sẵn dữ liệu ở dạng mà R có thể hiểu được để xử lí. Dữ liệu mà R hiểu được phải là dữ liệu trong một data.frame. Có nhiều cách để nhập số liệu vào một data.frame trong R, 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:

Nhập số liệu trực tiếp

Ví dụ 1 : chúng ta có số liệu về độ tuổi và insulin cho 10 bệnh nhân như sau, và muốn nhập vào R. 50 16.5 62 10.8 60 32.3 40 19.3 48 14.2 47 11.3 57 15.5 70 15.8 48 16.2 67 11.2 (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Phân tích và xử lý dữ liệu bằng ngôn ngữ R (Trang 27 - 34)