## 1. (1) 在Rstudio中导入数据“Advertising.csv”,并利用summary函数得到该数据从第二列至第五列的统计结果,并请你用注释简单叙述结果的含义。
Advertising = read.csv("Advertising.csv")
summary(Advertising[,2:5])
## 1. (2) 运用pairs函数绘出该数据从第二列至第五列两两之间的散点图,并在注释中叙述你的发现。(10分)
pairs(Advertising[,2:5])
## 从结果看出,TV和Sales有明显的正相关关系,Radio和Sales有明显的正相关关系。其他特征之间没有明显的关系。
## 1. (3) 结合(2)中的发现,计算对应特征之间的相关系数。
cor(Advertising[,2:5])
## 1. (4)使用lattice扩展库中的cloud函数,以Sales为纵轴,TV和Radio为另两个轴,绘制三维点云图。
#Advertising$Group = as.factor(Advertising$Sales > 9)
#plot(Advertising$Group, Advertising$TV)
library(lattice)
cloud(Sales~TV*Radio, data = Advertising)
# 2. 指数分布( lambda = 5)
## 2. (1) 当给定x=1时,求该分布的概率密度函数值及分布函数的值。利用R自带函数或自行编写函数皆可。
lambda = 5
dexp(1,lambda)
pexp(1,lambda)
## 2. (2) 分别绘出概率密度函数曲线和分布函数曲线。(横轴的范围取0到2)。
xx = seq(0, 2, 0.1)
fxx = dexp(xx,lambda)
plot(xx, fxx)
lines(xx, fxx)
Fxx = pexp(xx,lambda)
plot(xx, Fxx)
lines(xx, Fxx)
## 2. (3) 利用R自带的生成指数分布随机数的命令,产生5000个服从上述分布的随机数。随机种子的值设为1。并通过可视化方式,将所生成随机数的统计结果与真实的概率密度函数进行对比。
n = 5000
set.seed(1)
X = rexp(n, lambda)
hist(X, prob = T)
lines(xx, fxx)
## 2. (4) 利用逆变换法,生成5000个服从上述分布的随机数。并通过可视化方式,将所生成随机数的统计结果与真实的概率密度函数进行对比。
X1 = -log(runif(n)) / lambda
hist(X1, prob = T)
lines(xx, fxx)
## 3. (1) 利用sample函数生成服从上述分布的5000个随机数。
n = 5000
X1 = sample(0:2, n, replace = T, prob = c(0.2, 0.7, 0.1))
## 3. (2) 利用逆变换法生成服从上述分布的5000个随机数。
X2 = numeric(n)
u = runif(n)
X2[u<=0.2] = 0
X2[u<=0.9 & u >0.2] = 1
X2[u<=1 & u >0.9] = 2
## 3. (3) 将上述三种结果以频率的形式,与真实的概率分布进行列表对比。
p = c(0.2, 0.7, 0.1)
rbind(table(X1)/n, table(X2)/n, p)