在做数据分析时,我们通常作的举动就是画散点图分析。因为通过散点图的分析,我们可以最直观,最简单的得出大概的结论。今天我分享的内容就是R语言的绘图函数。
关于R语言强大的绘图功能,我们可以通过函数demo(graphics),demo(persp)来见识R带给我们的绘图便利。
一、数据的初步分析
我们对数据的初步分析常用的图像有:散点图、直方图、茎叶图、箱线图。对于时间序列,散点图,acf图,pacf图,残差图更是数据分析、建模的有利帮手。
先介绍创建图像的函数plot()的用法:
Plot(x,y…):x(在x轴上)与y(在y轴上)的二元作图,如果缺省x,x视为y的序列标号
我们以截面数据(R中自带数据集cars为例,看看散点图的做法)
plot(cars$speed,cars$dist, xlab = expression(speed^" of cars"), ylab =expression(dist^" of cars"))#从图中我们可以看到线性相关,从而可以考虑对这两个变量做回归分析
我们以随机游走序列为例也来看一个时间序列图:
set.seed(154)#用途是给定伪随机数的seed,在同样的seed下,R生成的伪随机数序列是相同的。
w<-rnorm(200)
x<-cumsum(w)#累计求和,seeexample:cumsum(1:!0)
wd<-w+0.2
xd<-cumsum(wd)
plot.ts(xd,ylim=c(-5,55))
我们可以看到如下图像:
对于一些需要猜测分布截面数据,没有比直方图更适合的了。我们通常使用函数hist()。用法如下:
hist(x, breaks = "Sturges",
freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, ...)
我们来看看模拟二项分布所得的数据的画出的直方图:
x<-rbinom(100000,100,0.9)
hist(x)
通常对于大规模的数据,了解其分布也是需要的,我们常用箱线图来描述,还是使用上面的模拟数据x,有boxplot(x).两个函数得到的图:
对于小规模数据,茎叶图也是常被使用的。R中的stem函数可以完成它。Stem函数用法:stem(x, scale = 1, width = 80, atom = 1e-08)
>stem(log10(islands))#对于R的数据集islands