#查看已安装的包,查看已载入的包,查看包的介绍
########例题3.1
#向量的输入方法
w<-c(75.0, 64.0, 47.4, 66.9, 62.2, 62.2, 58.7, 63.5,
66.6, 64.0, 57.0, 69.0, 56.9, 50.0, 72.0)
plot(w)#概况,数据的可视化可以让我们看的更轻松
summary(w)
#求均值
w.mean<-mean(w); w.mean
w[2]#选取特定位置的数字
#控制异常值,trim表示去掉异常值的比例
w[1]<-750#改变向量w的第一个元素的值
w.mean<-mean(w,trim=0.1); w.mean
#缺失值的处理,忽略缺失值
w[16]<-NA
w.mean<-mean(w,na.rm=TRUE); w.mean
#给出顺序统计量
sort(w)
sort(w,decreasing=T)
#分位数
quantile(w,probs=seq(0,1,0.2),na.rm=TRUE)
#寻求在线帮助的方法,
help('quantile')
?quantile
#方便起见,编写一个统一的函数计算样本的各种描述统计量
data_outline <- function(x){
n <- length(x)
m <- mean(x)
v <- var(x)
s <- sd(x)
me <- median(x)
cv <- 100*s/m #变异系数
css <- sum((x-m)^2) #矫正平方和
uss <- sum(x^2) #未校正平方和
R <- max(x)-min(x)#极差
R1 <- quantile(x,3/4)-quantile(x,1/4)
sm <- s/sqrt(n)
g1 <- n/((n-1)*(n-2))*sum((x-m)^3)/s^3 #峰度
g2 <- ((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4
- (3*(n-1)^2)/((n-2)*(n-3))) #偏度
data.frame(N=n, Mean=m, Var=v, std_dev=s, Median=me,
std_mean=sm, CV=cv, CSS=css, USS=uss, R=R,
R1=R1, Skewness=g1, Kurtosis=g2, row.names=1)#输出一个数据框data.frame
}
data_outline(w)#使用你所写的函数
#####………………实例分析
attach(mtcars)#获取数据集,把工作对象固定在mtcars上
mtcars#查看数据集
?mtcars#详细了解该数据集的信息
vars=c('mpg','hp','wt')#英里数,马力,车重
m=mtcars[vars];m#我们只选取vars中的三个变量
mode(m)#不能用刚才写的函数
mode(w)
#出来base包中的一些函数可以分析数据,还有其他的一些包可以使用,这里介绍Hmisc包,
#pasteses包,psych包
install.packages("Hmisc")
library(Hmisc)
describe(m)
describe
install.packages("pastecs")
library(pastecs)
stat.desc(m)
install.packages("psych")
library(psych)
describe(m)
detach(mtcars)推出该数据集的处理
##############################################################例题3.3
w <- c(75.0, 64.0, 47.4, 66.9, 62.2, 62.2, 58.7, 63.5,
66.6, 64.0, 57.0, 69.0, 56.9, 50.0, 72.0)
hist(w,freq=FALSE)#直方图,xlab="hgu",main="hist"
lines(density(w),col="blue")#lines() 该语句表示在已有图形上添加曲线
range(w)
x<-44:76
lines(x, dnorm(x, mean(w), sd(w)), col="red")#dnorm 表示正态分布的密度函数更多说明请看课件,
#算出每一个x对应的f(x)值,f为正态分布密度函数。
#课后思考练习:
#如何导入数据
#如何获取图片?
#实际例子中我们可能需要比较不同条件下的密度函数,如男性和女性
#sm包中的sm.density.compare()能提供帮助,见《R语言实战》p119
#查看已安装的包,查看已载入的包,查看包的介绍