Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能解释一下下面的R代码吗?_R - Fatal编程技术网

你能解释一下下面的R代码吗?

你能解释一下下面的R代码吗?,r,R,你能解释一下这个代码吗 x1和x2的用途是什么 我想从这个代码创建轮廓 请解释interp()的用法 此代码如何有助于绘制等高线 我们有一个文本文件,其中有三个单独的列,长度为lat-long。如何使用interp() 欢迎来到Stack Overflow,感谢您的提问(不过发布的评论仍然相关:) x1,y1和x2,y2是要制作的矩形的右下角和左上角顶点的坐标向量 你关于集中度的空间数据不规则地分布在表面上,所以如果你能画出来,你会在地图上看到很多空白、混乱和不规则。您的轮廓和基础图像将无法读

你能解释一下这个代码吗

x1和x2的用途是什么

我想从这个代码创建轮廓

请解释interp()的用法

此代码如何有助于绘制等高线

我们有一个文本文件,其中有三个单独的列,长度为lat-long。如何使用interp()


欢迎来到Stack Overflow,感谢您的提问(不过发布的评论仍然相关:)

  • x1,y1和x2,y2是要制作的矩形的右下角和左上角顶点的坐标向量
  • 你关于集中度的空间数据不规则地分布在表面上,所以如果你能画出来,你会在地图上看到很多空白、混乱和不规则。您的轮廓和基础图像将无法读取和扭曲
  • 为了避免这种情况,您应该对数据进行插值(或将数据放在常规网格上),因此您需要使用
    akima
    软件包的
    interp
    功能
  • 不进行插值/平滑的极端示例(但是对于
    ggplot2
    package),您可以在
  • base
    countour plot本身不可能调用不规则数据,因为应将规则分布的z值矩阵作为参数提供

我确信这个问题在这里不会长久。。。所以,这不是“在这里转储代码并请某人做我的工作”之类的地方。你需要问一些具体的问题,同时表明你确实做了一些事情。重复同一件事多次或只是“请建议”对你没有帮助。还有,“先生”。你是说女人不能回答你的问题吗?@JamesZ在帖子上打旗子
f=read.table("data2_input.txt",sep="\t",header=T)
attach(f)
library(akima)
library(reshape2)
c1=length(f[1,])
r1=length(f[,1])
lat=0,long=0,conc=0,x1=0 y1=0 midx=0 x2=0 y2=0 midy=0 
conc=0 r=r1                            
c=c1
lat=f[,1]
long=f[,2]
conc=f[,3]
ak=interp(long,lat,conc, xo=seq(min(long),max(long),length=200),yo=seq(min(lat),max(lat),length=75))
mak=melt(ak$z)
names(mak)=c('x','y','value')
mak$lon=ak$x[mak$x]
mak$lat=ak$y[mak$y]
lon_diff=round(ak$x[2]-ak$x[1],5)
lat_diff=round(ak$y[2]-ak$y[1],5)
mak1=mak[,3:5]
mak1=subset(mak1,mak1$value!='NA')
names(mak1)=c('Concentration','Longitude','Latitude')

/* why use x1 and x2*/
x1=round(mak1$Latitude-lat_diff/2,4)
y1=round(mak1$Longitude-lon_diff/2,4)
x2=round(mak1$Latitude+lat_diff/2,4)
y2=round(mak1$Longitude+lon_diff/2,4)
/*why use round function*/          
z1=as.data.frame(cbind(x1,y1,x2,y2,round(mak1$Latitude,4),round(mak1$Longitude,4),round(mak1$Concentration,4)))
names(z1)=c('latitude_x1','longitude_y1','latitude_x2','longitude_y2','midx','midy','dvalue')
write.csv(z1,'data2_output.csv',row.names=F,quote=F)