由于R语言学习成本比较低,而且较多的绘图功能是比较喜欢的。所以这周针对R语言相关操作进行学习,主要方向还是关于绘图相关的使用方法:
一、R语言基础
1.数据导入
data = read.table("文件路径+文件名",T) # 文件路径为“C:\\Users\\... ” 或者"C:/Users/..."; T 表示第一行为表头信息
dataframe 是一种R的数据格式,每一列表示一种属性,每一行为一组样本点;(类似矩阵,操作上也比较类似)
data1 = edit(data)
data1[行,列] # 可用3,1:10,缺省表示整行整列等方式提取数据 或使用 data1$属性名
2.描述统计
summary(data1) # 数据的分布描述,包括五个分位点,均值
其他统计指标统计制图:mean();sd();table();barplot();hist();plot()等;
对于议员数值可以通过箱线图和分布图进行初步观察;二元数值可以通过散点图
数据汇总函数
tapply()和sapply()
tapply(x,index=,FUN=函数)
概率计算函数
计算其概率密度density (d)
计算其概率分布probability(p)
计算其百分位数quantile (q)
随机数模拟random (r)
抽样函数: sample(x,size=5,replace=T) # replace表示是否有放回抽取
回归建模
model=lm(y~x,data=数据) # lm表示数据模型类型
通常流程可以为:
plot(y~x,data=数据)
model=lm(y~x,data=数据) # 建立模型,还有其他多种模型;依照数据分布进行选择
abline(model) # 添加模型至绘图取
summary(model) # 展示模型结果
summary将模型结果进行了展示,从变量P值和F统计量可得回归模型是否显著。
二、基础绘图
常用统计作图函数汇总
plot() 基础绘图函数
hist() 直方图
stem() 茎叶图
boxplot() 箱线图(盒形图)
coplot() 协同图
qqnorm() 正态qq图
qqplot() 两总体qq图
plot()
plot(sample(1:10),sample(1:10),main="散点图")
x <- 1:10
y <- c(2,4,6,8,7,12,14,16,18,20)
lo <- loess(y~x) # 使用loess函数完成曲线拟合
plot() :每次绘制都会重置画布,因此想要在已有图中添加新曲线--使用 lines() 和 points()
plot(x,y)
lines(predict(lo),col="red",lwd=2)
箱线图
boxplot: 数据的整体分布情况,异常值,四分位数;缺点是看不到数据的内部细节情况,
因此很多时候数据量的大小对于最终的分布情况很类似,不过要注意其表现的知识总体描述
统计量,并没有过多关注细节。
boxplot(len~supp*dose,data= ToothGrowth, notch=TRUE,
col=(c("gold","darkgreen")),main="Tooth Growth",xlab="Suppliment and Dose")
# Stacked Bar plot with Colors and Legend
counts <- table(mtcars$vs,mtcars$gear)
barplot(counts,main="car")
# barplot(counts,main="car",beside=TRUE)
hist直方图
hist(x,nclass=组数,breaks=向量,prob=T)
hist(x)作向量x的直方图。缺省时自动确定分组,也可以用nclass=参数指定分组个数,或者用breaks=参数指定一个分组点向量。如果指定了prob=T则纵轴显示密度估计。
stem茎叶图
stem(x, scale = 1, width = 80, atom = 1e-08)
数据分布的表现
茎叶图可以从数据维度表现出数据的分布,集中趋势;
coplot() 协同图
coplot(y~x|z) # Z表示分组依据,组类
图例
甚至可以用如coplot(y~x | x1+x2)表示对x1和x2的每一水平组合绘图。
coplot()和pairs()函数缺省绘制散点图,但可以用一个panel= 参数指定其它的低级绘图函数,如lines,panel.smooth等。
tsplot(x)绘制时间序列曲线图。多个参数时tsplot(x1, x2, ...)表示绘制多条曲线,自动统一曲线取值范围。如果参数非时间序列对象则以下标1,2,3等为横坐标绘图
多图绘制
A, par(mfrow=c(2,2)) #准备画22的4个图,
plot(x, y,main= "标题") #图1 分别绘制不同的四幅图
B, plot() + lines() +points() # 不断添加新的图形
学习资料:R语言基本画图函数与多图多线















网友评论