本书作者: 吴喜之
操作系统:win10
R版本:R-3.3.3
实践4 —— 以简单自变量为定量变量及定性变量的回归
ncol(cars); nrow(cars) #输出cars的列数和行数
dim(cars) #输出cars的维数,先是行数,后是列数
lm(dist~speed, data=cars) #以speed为自变量,dist为因变量做普通最小二乘法分析(ordinary least square, OLS)
cars$qspeed = cut(cars$speed, breaks = quantile(cars$speed), include.lowest = TRUE) #以四分位数为分割点,将数值分到不同的区间,注意区间为左开右闭,include.lowest=TRUE将最小的值也进行划分。
names(cars) #数据cars中多了一个变量qspeed
cars[3] #查看cars第三个变量的值
cars[,3] #结果同上,但是显示方式有不同
table(cars[3]) #列表形式统计不同值的个数
is.factor(cars$qspeed) #判断cars$qspeed的类型是否是因子
plot(dist~qspeed, data=cars) #绘制箱线图
plot(dist~speed, data=cars) #与前一张图进行比较
(a=lm(dist~qspeed, data=cars)) #拟合线性模型(简单最小二乘回归)
summary(a) #显示回归结果
实践5 —— 简单样本描述统计量
x <- round(runif(20,0,30), digits=2) #从0-30取20个随机数,使它们服从均匀分布,并将这些数保留至小数点后两位。
summary(x) #进行简单统计分析
min(x); max(x); range(x) #输出最小值、最大值,注意极值得到的结果
median(x) #中位数
mean(x) #平均值
var(x); sd(x) #方差、标准差
sort(x) #返回排序以后的数组,默认从小到大排序
rank(x) #秩。即将所有值从小到大排序,输出各个值在序列中的排序
order(x) #返回数组排序后各元素在原数组中的位置
x[order(x)] #对x进行排序,结果同sort(x)。延伸:x[order(x[,1], x[,2],)] 表示根据不同的列对矩阵x排序
sort(x, decreasing=T) #降序排列
sum(x); length(x) #元素求和;统计元素个数
round(x,1) #四舍五入,保留小数点后1位
fivenum(x) #基于中位数的概念求5个分位点
quantile(x) #基于分位数的概念求5个分位点
quantile(x, c(0, .33, .66, 1)) #可以自定义分位点
mad(x) #绝对中位差。为所有数值与中位数差值取绝对值后的中位数,在R中默认乘以一个常数1.4826,目的是渐近正态一致性
y <- c(5, 8, 3, 1)
cummax(y) #累积最大值。即输出到目前为止的最大值
cummin(y) #累积最小值
cumprod(y) #累积积
cor(x, sin(x/20)) #计算线性相关系数
这一次的内容,有几个函数可能不太容易理解,可以借助相关函数的说明文件,慢慢体会一下。