之后出现了下面的情况:
>r1 <- raster(ncol=36,nrow=18)
Error: could not find function "raster"
>require(raster)
Loading required package: raster
Failed with error: ‘package ‘sp’ required by ‘raster’ could not be found’
不知道你问的是在同一图形中添加点(类似画散点图)还是要把屏幕一分为多。添加的话,用完plot,添加点用points,添加线用lines。
简单点的应用类似:
plot(X,Y)
points(X,Y1)
这样的感觉。
一分为多的话,用split.screen。
上我自己最近写的代码做个例子:
jpeg(filename="geeseP3.jpeg") #画jpeg图
split.screen(c(1,2)) #分屏幕为左右两边
screen(1) #屏幕1预备输出
plot(X2,Y,type="p",xlab="X2",ylab="Y",main="Plotting of X2 and Y")
screen(2) #屏幕2预备输出
plot(X2,Y,type="l")
dev.off()
画出来的图大概是这个感觉:
不喜欢这个比例的话,也有命令可以调节图片长宽比例。这个略去不提。
另外推荐这个
http://wenku.baidu.com/link?url=mMnroYY14th1qiKzsFnTUVceptBVugQsrLbYFItaqMN25xftBQlMBThtyW5fsmIgkMWcWbkXyozKR85SFEb7VwDUhekqSBVDuOvskifRo7W
里面有列举了一些画图用的函数。
R对命名了的数据结构进行操作。最简单的数据结构是数字向量;如,>x <- c(10.4, 5.6, 3.1, 6.4, 21.7)c()是创建函数,赋值运算符是'<-',与函数assign()等价
>assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7)) 也可以写成:
>c(10.4, 5.6, 3.1, 6.4, 21.7) ->x
如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储存。
单独输入x则会将值打印出来。也可以打印倒数:
>1/x
>y <- c(x, 0, x) 也可以将向量作为元素。
2.2 向量运算
操作是按照向量中的元素一个一个进行的。同一个表达式中的向量并不需要具有相同的长度。如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配。而常数很明显的将被不断重复。如,
>v <- 2*x + y + 1
常用运算有:
+,-,*,/,^(次方);
log, exp, sin, cos, tan,sqrt等;
max和min的作用是选出所给向量中最大的或最小的元素;
range函数的值是一个长度为2的向量,即c(min(x),max(x))
length(x)返回了向量x中元素的个数,也就是x的长度。
sum(x)给出了x中所有元素的总和;
prod(x)给出x中所有元素的乘积;
mean(x)和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/length(x),sum((x-mean(x)) \^2)/(length(x) -1)。如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。
sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还有其他更灵活的排序功能(参见order()和sort.list())。
pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元素由参数中所有向量在相应位置的最大值(最小值)组成;
如果要使用复数,需要直接给出一个复数部分。因此sqrt(-17)将会返回NaN(无效数值)和一个警告,而sqrt(-17+0i)将按照复数进行运算。