R语言基本操作
这里首先介绍几个重要的函数。设置工作路径setwd(),读入数据read.table(),向量函数c(),矩阵函数matrix(),数据框函数data.frame(),列表函数list().查看数据大小和维数dim(),查看数据结构str(),查看数据前几行head (),数据类型class().
我们以实际数据代入来介绍以上一些基本函数。
1、我们先读入数据,在读入数据之前先清理内存,设置工作路径,所谓工作路径即为统计操作存取的位置,往往数据在此,程序文件也在此。
rm(list=ls())setwd("G:\\work\\课程\\本科课程\\统计应用软件\\统计学实验\\35629统计学实验—SPSS和R软件应用与实例+费宇\\35629统计学实验—SPSS和R软件应用与实例 费宇\\《统计学实验》课件和数据\\data\\chap-9")dat<-read.table("li9.1.txt",header=T)
2、数据保存在数据框dat中,我们再查看dat的结构,为了方便,对其变量名重命名。
str(dat)
## 'data.frame': 31 obs. of 2 variables:## $ x: num 21989 16357 11690 11565 12378 ...## $ y: num 15330 12029 8235 8102 9281 ...
dim(dat)
## [1] 31 2
head(dat)
## x y## 1 21988.71 15330.44## 2 16357.35 12028.88## 3 11690.47 8234.97## 4 11564.95 8101.84## 5 12377.84 9281.46## 6 12300.39 9429.73
names(dat)<-c("income","expend")class(dat)
## [1] "data.frame"
简单解释:str()显示数据框的结构,dim()显示该数据框有几行几列,head()显示数据框的前六行,names()对数据框的变量重命名,“<-”是R中的赋值符号,c()是r中使用最广泛的函数,向量连接函数。class()显示数据类型。
3、描述数据基本特征。一般而言,描述型统计是对单变量而言,对某一个变量的集中和分散趋势进行描述,即对数据分布进行描述。具体包括最小值min(),最大值max(),范围range(),平均值(),求和(),数据量length(),中位数median(),分位数quantile(),方差var(),标准差sd().
head(dat)
## income expend## 1 21988.71 15330.44## 2 16357.35 12028.88## 3 11690.47 8234.97## 4 11564.95 8101.84## 5 12377.84 9281.46## 6 12300.39 9429.73
min(dat$income)
## [1] 10012.34
max(dat$income)
## [1] 23622.73
range(dat$income)
## [1] 10012.34 23622.73
mean(dat$income)
## [1] 13111.39
median(dat$income)
## [1] 11496.11
var(dat$income)
## [1] 12700332
sd(dat$income)
## [1] 3563.753
##均值的计算mean(dat$income)==sum(dat$income)
## [1] FALSE
##方差的计算var(dat$income)==sum((dat$income-mean(dat$income))^2)/(length(dat$income)-1)
## [1] TRUE
var(dat$income)==sd(dat$income)^2
## [1] TRUE
4、数据作图。统计图形在统计应用上极其重要,不仅仅是探索性研究的部分,也是最终演示和数据可视化的结果。可以通过直方图和箱线图查看单变量数据分布,由散点图查看多变量间关系。
hist(dat$income)
hist(dat$income,breaks="sturges",freq=FALSE,col="darkorange",main="hist of income",xlab="income")lines(density(dat$income),col="red")lines(10000:24000,dnorm(10000:24000,mean(dat$income),sd(dat$income)),col="blue")
hist(dat$expend)
boxplot(dat$income,dat$expend)
plot(dat$income,dat$expend)abline(h=mean(dat$expend),v=mean(dat$income),col="blue",lty=3)abline(lm(dat$expend~dat$income),lty=2,col="red")