如何用一个raster截取另一个raster r语言

Python09

如何用一个raster截取另一个raster r语言,第1张

想在R语言里面使用raster,之前install.packages(raster)了..

之后出现了下面的情况:

>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)将按照复数进行运算。