Sưu tầm
Tôi thấy việc xử lý file excel (.xls, .xlsx) có vẻ khó khăn và đòi hỏi nhiều động tác. T tìm thấy package 'gdata' có thể giúp việc đọc file excel khá hiệu quả và muốn chia sẻ với mọi người ở đây.
Gói 'gdata' hỗ trợ R đọc file xls trực tiếp mà không cần file chuyển file xls sang csv. Cách tôi đọc file .xls bằng R trên máy của tôi như sau:
-------
install.packages("gdata")
library(gdata)
setwd("~/Dropbox/lectures/TAI LIEU/TAI LIEU/Datafiles")
data = read.xls("test excel file 1.xls")
--------
install.packages("gdata")
library(gdata)
setwd("~/Dropbox/lectures/TAI LIEU/TAI LIEU/Datafiles")
data = read.xls("test excel file 1.xls")
--------
Lưu ý: các anh chị sử dụng windows có thể gặp khó khăn khi gài gói 'gdata' vì phải cài thêm phần mềm perl. Các anh chị sử dụng Linux/Mac OS thì perl thường đã có sẵn trong máy.
Hi vọng thông tin này sẽ hữu ích cho các anh chị quan tâm!
Recode
Bài thực hành trong câu 10, ý số 4
"Soạn biểu đồ về tần số (bar graph) của số người bị obese, overweight, và normal cho từng giới tính"
"Soạn biểu đồ về tần số (bar graph) của số người bị obese, overweight, và normal cho từng giới tính"
Mọi người sẽ thấy hơi lạ vì nó hơi lạ. Thực ra nó là kết quả của câu 2, ý số 3:
Tạo ra một biến mới và gọi là "obesity", sao cho obesity có giá trị theo điều kiện
sau đây:
* Nếu bmi bằng hoặc cao hơn 30 thì obesity có giá trị "Obese";
* Nếu bmi từ 25 đến đến 29.9 thì obesity có giá trị "Overweight";
* Nếu bmi thấp hơn 25 thì obesity có giá trị "Normal".
sau đây:
* Nếu bmi bằng hoặc cao hơn 30 thì obesity có giá trị "Obese";
* Nếu bmi từ 25 đến đến 29.9 thì obesity có giá trị "Overweight";
* Nếu bmi thấp hơn 25 thì obesity có giá trị "Normal".
Cho nên bài này làm thành 2 bước:
Bước 1: Chạy lại lệnh trong câu 2:
data$obesity[bmi >= 30] = "Obsese";
data$obesity[(25 <= bmi) & (bmi <= 29.9)] = "Overweight";
data$obesity[bmi < 25] = "Normal";
data$obesity[(25 <= bmi) & (bmi <= 29.9)] = "Overweight";
data$obesity[bmi < 25] = "Normal";
Bước 2:
attach(data);
tabObesity = table(obesity);
barplot(tabObesity);
attach(data);
tabObesity = table(obesity);
barplot(tabObesity);
ROC
library (OptimalCutpoints);
#tag.healthy: giá trị không bệnh.;
cutpoint= optimal.cutpoints (X = "tên biến predictor", status = "tên biến kết cục", tag.healthy = 0, methods = "ROC01", data = tên data, ci.fit = TRUE, conf.level = 0.95);
summary (cutpoint)
#tag.healthy: giá trị không bệnh.;
cutpoint= optimal.cutpoints (X = "tên biến predictor", status = "tên biến kết cục", tag.healthy = 0, methods = "ROC01", data = tên data, ci.fit = TRUE, conf.level = 0.95);
summary (cutpoint)
Nhận xét