Professional Documents
Culture Documents
y=sqrt(9)
z=x+y
#Baitap001
#a. #b.
rep(6, 6) (b=rep(c(5,8),4))
#c. #d.
rep(c(5,8), c(4,4)) rep(c(5,8,5,8,5,8), time=c(3,3,2,3,2,3))
#Baitap002
#a. #b.
seq(from=1,to=100,by=1) c(seq(1,9,1),seq(9,1,-1))
#c. #d. #e.
rep(seq(1,3,1),each=10) seq(from=2,to=100,by=2) seq(1,99,2)
#Baitap003
#a. Dudoan: 7 8 9 10 11 #b. Dudoan: 2 3 4 5 6 7 8 9
a=7:11 seq(2,9)
#c. Dudoan: 4 6 8 10 #d. Dudoan: 3 6 9 12 15 18 21 24 27 30
seq(4,10,2) seq(3,30,length=10)
#e)Dudoan: 6 4 2 0 -2 -4 #f)Dudoan: 0 0.05 0.1 0.15 ... 1
seq(6,-4,by=-2) seq(0,1,by=0.05)
#Baitap004
x<-c(5,9,2,3,4,6,7,0,8,12,2,9)
#demsophantu
(length(x))
#a. x[2] #b. x[2:4] #c. x[c(2,3,6)]
#d. x[c(1:5,10:12)] #e. x[-1]
#Baitap005
x=c(1,2,5,7,-3,0,5,1,5,6)
y=c(2,3,0,-5,7,8,11,9,3,2)
#a)Tính x+y…..
x+y
#b)Tạo những phần tử chẵn của X #c)Tạo những phần tử lẻ của Y
x%%2 y%%2!=0
x%%2==0 y[y%%2==1]
x[x%%2==0]
#d)những phần tử lớn hơn 0 của X #e. Những phần tử không âm của Y gán cho u
x[x>0] y[y>=0]
u = y[y>=0]
#a)
(k=seq(1,10,1))
x_k=(factorial(4)*choose(k+4,4))/(factorial(k+2))-(143/(4*factorial(k)))
sum(x_k)
#b) x_k[x_k>=0] #c) k[x_k>=0]
#Baitap007
#a) factorial(3) + 4*factorial(5) - factorial(6)
#b) factorial(seq(from=1, to=20, by=1))
#c)
x=seq(from=1,to=99,by=2)
x
y=seq(from=2,to=100,by = 2)
y
z=sum(x-y)
#d) factorial(25)/factorial(23)*factorial(2)-factorial(15)/factorial(13)*factorial(2)-
3*(factorial(10)/factorial(7)*factorial(3))
#e) #h)
n=10 (j=seq(1,100,1))
(k=seq(from=0,to=10,by=1)) sum(1/j^2)
(c=choose(n,k))
sum(c)
#j) (factorial(7)/factorial(2))-(factorial(5)-factorial(3))
#k) (factorial(15)/factorial(10)+factorial(10)/factorial(8))/factorial(9)/factorial(4)
#l) #m)
n=10 n=10
(k=seq(1,10,1)) (k=seq(1,10,1))
A=choose(n,k)*factorial(k) A=factorial(k)*choose(n,k)
sum(A) prod(A)
#n)
(n=seq(1,10,1))
A=1/(sqrt(n)+sqrt(n+1))
prod(A)
#a)
data.10<-c(85,74,122,235,111,292,111,211,133,156,79,86)
#b)
length(data.10)
#c) #d)
mean(data.10) max(data.10)
median(data.10) min(data.10)
var(data.10) range(data.10)
sd(data.10)
#e) #f)
sort(data.10) summary(data.10)
sort(data.10,decreasing=TRUE) #ketquatravecacthongtin
#min=74 #max=292
#Q1=85.75
#median=116.5
#mean=141.25
#Q3=169.75
#g) #h)
data.10[data.10>=200] data.10[(data.10>=150)&(data.10<=200)]
#i)
(BPV_10=quantile(data.10, probs = 0.10))
#10%
#79.6
# Ý nghĩa: Khoảng 10% số quan sát không lớn hơn 79.6
#j)
# Tứ phân vị:
(Q_1=quantile(data.10, probs = 0.25))
(Q_2=quantile(data.10, probs = 0.50))
(Q_3=quantile(data.10, probs = 0.75))
# IQR
IQR=Q_3-Q_1
# Ý nghĩa IQR
# Khoảng 50% dữ liệu nằm trong khoảng (Q_1, Q_3)
#k) (CV<-(sd(data.10)/mean(data.10))*100)
#baitap.011
#a.đặt tên là data.11 và sử dụng hàm data.frame
stt<-c(1,2,3,4,5,6,7,8,9,10)
Chieu.Cao<-c(160,170,180,155,172,162,160,168,170,165)
Can.nang<-c(45,70,85,42,67,50,65,58,60,50)
Trinh.do<c("khac","khac","khac","phothong”,…,”daihoc","daihoc","daihoc")
Gioitinh<-c("nu","nam","nam","nu","nam","nu","nam","nu","nam","nu")
data.11<-data.frame(stt,Gioitinh,Chieu.Cao,Can.nang,Trinh.do)
data.11
#f.chieu cao trung binh, lọc ra có bao nhiêu người lớn hơn chieu cao trung binh
(Chieucao.tb=mean(data.11$Chieu.Cao)) #166.2
data.11[data.11$Chieu.Cao>Chieucao.tb,]
dim(data.11[data.11$Chieu.Cao>=Chieucao.tb,])[1]
#baitap.012
#a.citysale.xls
city_sale_1=read.csv(file=file.choose(), header=TRUE)
city_sale_1
#
city_sale_2=read.csv(file=file.choose(), header=F)
city_sale_2
#CHỌN TRUE VÌ KHÔNG CÓ V1V2V3....
#b.cityrain.txt
city_rain_1=read.table(file=file.choose(), header=TRUE)
city_rain_1
#e.diem.csv
diem_1=read.csv(file=file.choose(), header=TRUE)
diem_1
#c.hanghoa.sav
hang_hoa_1=read.spss(file=file.choose(), header=TRUE)
hang_hoa_1
hang_hoa_2=read.spss(file=file.choose(), header=F)
hang_hoa_2
#chọn true
#baitap0.13
#baitap.014
stt<-c(1,2,3,4,5,6,7,8,9,10)
Thu.Nhap<-c(2.1,2.5,2.0,4.1,4.2,4.5,4.0,11.0,8.0,9.0)
Gioi.Tinh<-c("nu","nam","nam","nu","nam","nu","nam","nu","nam","nu")
Trinh.do<c("khac","khac","khac","phothong”,…,”daihoc","daihoc","daihoc")
data.14<-data.frame(stt,Thu.Nhap,Gioi.Tinh,Trinh.do)
data.14
#a. mã hóa nam=1, nu=0
data.14$GT[Gioi.Tinh=='female'] <- 0
data.14$GT[Gioi.Tinh=='male'] <- 1
#b. mã hóa biến trình độ daihoc=2, phothong=1, khac=0
data.14$TĐ[Trinh.do=='daihoc'] <- 2
data.14$TĐ[Trinh.do=='phonthong'] <-1
data.14$TĐ[Trinh.do=='khac'] <- 0
#c.Sắp xếp dữ liệu tăng dần và giảm dần theo thu nhập.
sort(data.14)
sort(data.14,decreasing=TRUE)
#baitap0.15
spam.type=read.csv(file=file.choose(),header=TRUE)
spam.type
#a. BIỂU ĐỒ CỘT, xem bieu do cot trang 45,46,47, theo biến Percent,
read.csv(file.choose())
type = c("Adult","Financial","Health","Leisure","Products","Scams")
Percent = c(14.5,16.2,7.3,7.8,21.0,14.2)
barplot(spam.type$Percent, col = rainbow(6), names.arg = type, xlab = "Spam Types",ylab =
"percent(%)", main = "The distribution of the types of spam")
#b.BIỂU ĐỒ CỘT TỪ CAO ĐẾN THẤP
percent_sort=sort(spam.type$Percent, decreasing=FALSE)
percent_sort
barplot(percent_sort,col=rainbow(6),names.arg=type,xlab="spam.type",ylab="Percent(%)",
main="The distribution of the types of spam")
#c.BIỂU ĐỒ TRÒN
pie(percent,col=rainbow(6), labels = type, main = 'The distribution of the type of spam ')
#Dán thêm số liệu của biểu đồ tròn
phantram = paste( type, Percent , sep = " ")
phantram
pie(percent,col=rainbow(6), labels = phantram , main = “The distribution of the type of spam”)
data.16=c(141,158,112,153,134,95,96,78,148,172,200,271,103,172,359,145,147,255)
#a.tb,tv,ps,dolechchuan,q1,q3,IQR
mean(data.16)
median(data.16)
sd(data.16)
var(data.16)
IQR(data.16)
#bach phan vi thu nhat
quantile(data.16, probs=0.25)
#bach phan vi thu 3 quantile(data.16, probs=0.75)
#b.bieu do than la
stem(data.16)
#c.BIỂU ĐỒ HỘP
boxplot(data.16, col=c('blue'))
data=read.table(file.choose(), header = T)
data
data_sort = data[order(data$Damage),] #Sắp xếp dữ liệu lại theo biến Damage tăng dần
data_sort
#a. tail(data_sort,5) # Lấy 5 giá trị cuối (lớn nhất)
head(data_sort,5) # Lấy 5 giá trị đầu (nhỏ nhát)
### Lưu ý là bạn có thể sắp xếp dữ liệu giảm dần.
#b.VẼ BIỂU ĐỒ HISTOGRAM
hist(data$Damage, breaks = c(0,10,20,30,40,50,60,70,80,90))
#a. Dùng hàm table, vẽ biểu đồ thể hiện tần số bằng cột và bằng dòng
cholesterol=read.table(file=file.choose(),header=T)
cholesterol
tan_So=table(cholesterol$sex)
tan_So
barplot(tan_So) # thêm màu, tên,...
#b. dung hàm cut, vẽ biểu đồ cột thể hiện có bnhieu bệnh nhân trong từng độ tuổi
chianhom=cut(cholesterol$age,breaks =c(40,50,60,70,80),right=T)
sobenhnhan_dotuoi=cut(cholesterol$age,breaks =c(40,50,60,70,80),right=T,
include.lowest=T)
tanso_dotuoi=table(sobenhnhan_dotuoi)
tanso_dotuoi
barplot(tanso_dotuoi) # thêm màu, tên,...
#c.vẽ biểu đồ tần số của độ tuổi bằng biểu đồ tròn
pie(table(chianhom_1)) # Tự thêm mắm dậm muối vào
#d. hist(data$age) # Tự thêm mắm dậm muối vào
data.0.0.25
#a hoc_luc<-c("Khá","Giỏi","Khá","Khá","Trung bình",....,"Giỏi")
tanso <- table(hoc_luc)
tansuat<-prop.table(tanso)
#b. ty_le_sv_gioi<-tanso["Giỏi"]/length(hoc_luc)
#b.cách 2 tansuat["Giỏi"]
#baitap0.31
#nhap du lieu de bai
data_31=c("G","O","V",…..,"A","G")
data_31
#a.tan so va tan suat
length(data_31)
(tanso=table(data_31))
(tansuat=prop.table(tanso)) A G O P V
0.12 0.20 0.38 0.04 0.26 =>đưa ra nhận xét
#b.ve bieu do cot va bieu do tron
#biểu đồ cột #biểu đồ tròn
barplot(tanso, col=rainbow(5)) pie(tansuat, col=rainbow(5))
# Nhận xét:
# Có 5 mức độ hài lòng
# Đa số khách hàng đánh giá các món ăn là tuyệt diệu (38%)
# Khách hàng đánh giá món ăn dở tệ chiếm tỷ lệ ít nhất (4%)
#doc du lieu
pig=read.table(file=file.choose(), header=TRUE)
pig
#a.vẽ hist và đường mật độ thời gian sống (lines)
hist(pig$survival,labels = T,col = "lightblue",main = "Histogram of survival of pig",
xlab = "survival",probability = T)
lines(density(pig$survival),col="red",lwd=2)
#nhan_Xet: Hình dạng phân phối: lệch sang phía bên trái
#b
mean(pig$survival)
median(pig$survival)
var(pig$survival)
sd(pig$survival)
#c. summary(pig$survival)
#d. boxplot(pig$survival,col = "green",xlab="guinea pig")
# Trong câu d của em, nếu muốn BIỂU ĐỒ HỘP NẰM NGANG, em thêm vào
horizontal = TRUE
# Bai tap 0.0.20 BIỂU ĐỒ PATERO
# Các bạn cần cài package sau vào máy 1 lần
install.packages("qcc")
#Các lần sau không cần cài, chỉ cần gọi:
library(qcc)
QG=c("Af", "Asi", "Aus", "Eu", "NAmer", "SAmer")
So_tauluon=c(17,315,22,413,643,45)
data_20=rep(QG,So_tauluon)
data_20=table(data_20)
pareto.chart(data_20)