我在一个文件夹中有超过700个文件,命名为:从第1个到第9个的文件在第一个月命名:
water_200101_01.img
water_200101_09.img
Run Code Online (Sandbox Code Playgroud)
从10号到30号的文件命名为:
water_200101_10.img
water_200101_30.img
Run Code Online (Sandbox Code Playgroud)
等第二个月:从1号到9号的文件被命名为:
water_200102_01.img
water_200102_09.img
Run Code Online (Sandbox Code Playgroud)
从10号到30号的文件命名为:
water_200102_10.img
water_200102_30.img
Run Code Online (Sandbox Code Playgroud)
如何在不对文件进行任何更改的情况下重命名它们.例如,只需改变纳米
water_1
water_2
...till...
water_700
Run Code Online (Sandbox Code Playgroud) 我想在这个netcdf文件中包装(重新投影)一个变量.
D:\ gdalwarp -t_srs EPSG:4326 NETCDF:"C:\fie.nc":var "C:\Desktop\SM.img"
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
错误4:无法打开EPSG支持文件gcs.csv.尝试将GDAL_DATA环境变量设置为指向包含EPSG csv文件的目录.
错误1:翻译源或目标SRS失败:EPSG:4326
我使用的是GDAL 1.9.0,发布于2011/12/29.我将不胜感激任何帮助.
我在我的代码中使用colSums
但我还需要总和旁边的标准偏差.我在互联网上搜索,发现这个页面只包含:
colSums
colMeans
Run Code Online (Sandbox Code Playgroud)
http://stat.ethz.ch/R-manual/R-devel/library/base/html/colSums.html
我试过这个:
colSd
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
Error: could not find function "colSd"
Run Code Online (Sandbox Code Playgroud)
我如何做同样的事情,但标准偏差:
colSd
Run Code Online (Sandbox Code Playgroud)
这是代码:
results <- colSums(x,na.rm=TRUE)#### here I want colsd
Run Code Online (Sandbox Code Playgroud) 这段代码将返回系数:intercept,slop1,slop2
set.seed(1)
n=10
y=rnorm(n)
x1=rnorm(n)
x2=rnorm(n)
lm.ft=function(y,x1,x2)
return(lm(y~x1+x2)$coef)
res=list();
for(i in 1:n){
x1.bar=x1-x1[i]
x2.bar=x2-x2[i]
res[[i]]=lm.ft(y,x1.bar,x2.bar)
}
Run Code Online (Sandbox Code Playgroud)
如果我输入:
> res[[1]]
Run Code Online (Sandbox Code Playgroud)
我明白了:
(Intercept) x1 x2
-0.44803887 0.06398476 -0.62798646
Run Code Online (Sandbox Code Playgroud)
我们如何返回预测值,残差,R square,..等?
我需要一些通用的东西从摘要中提取我需要的东西?
我有一个netcdf文件,我想只是想象土壤深度图
[1] "file C:\\Users\\SoilDepth-gswp.nc has 3 dimensions:"
[1] "x Size: 360"
[1] "y Size: 150"
[1] "land Size: 15238"
[1] "------------------------"
[1] "file C:\\SoilDepth-gswp.nc has 3 variables:"
[1] "float nav_lon[x,y] Longname:Longitude Missval:1e+30"
[1] "float nav_lat[x,y] Longname:Latitude Missval:1e+30"
[1] "float SoilDepth[land] Longname:Soil depth Missval:1.00000002004088e+20"
Run Code Online (Sandbox Code Playgroud)
似乎我必须将纬度与经度以及地面点连接起来以获得土壤深度的地图.我真的很困惑.任何人都可以帮助我处理这类数据.
我已经从中下载了一个nc文件
f=open.ncdf("file.nc")
[1] "file Lfile.nc has 2 dimensions:"
[1] "Longitude Size: 1440"
[1] "Latitude Size: 720"
[1] "------------------------"
[1] "file filr.nc has 8 variables:"
[1] "short ts[Latitude,Longitude] Longname:Skin Temperature (2mm) Missval:NA"
Run Code Online (Sandbox Code Playgroud)
然后我想使用变量soil_moisture_c
A = get.var.ncdf(nc=f,varid="soil_moisture_c",verbose=TRUE)
Run Code Online (Sandbox Code Playgroud)
然后我绘制用image(A)
.我得到了下面显示的地图,我甚image(t(a))
至改变了它,但是它改变了其他方向,而不是它应该如何.无论如何,为了知道出了什么问题,我使用netcdf查看器Panoply并正确绘制了地图,如下所示.
我想要操作几个光栅文件,然后再次写入它们.
rasterfiles <- list.files("C:\\data", "*.envi", full.names = TRUE)
d1 <- overlay(stack(rasterfiles ),
fun=function(x) movingFun(x, fun=mean, n=3, na.rm=TRUE))
d2=unstack(d1)
Run Code Online (Sandbox Code Playgroud)
我很感激我们如何写d2
(栅格)
我想只返回摘要中的df(自由度).我通过互联网搜索但我没有找到任何东西.
y=c(2,13,0.4,5,8,10,13)
y1=c(2,13,0.004,5,8,1,13)
y2=c(2,3,0.004,15,8,10,1)
y3=c(2,2,2,2,2,2,NA)
fit=lm(y~y1+y2+y3)
summary(fit)
Call:
lm(formula = y ~ y1 + y2 + y3)
Residuals:
1 2 3 4 5 6
-1.5573 1.6523 -1.3718 -3.2909 -0.9247 5.4924
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.7682 3.0784 0.574 0.606
y1 0.6896 0.3649 1.890 0.155
y2 0.2050 0.3184 0.644 0.566
y3 NA NA NA NA
Residual standard error: 4.037 on 3 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: …
Run Code Online (Sandbox Code Playgroud) 下面给出的代码运行良好,并读取我的目录中的文件并提取值:
X <- c(75:85) ; Y <- c(208:215)
extract <- vector()
files <- list.files("C:\\New folder (10)", "*.img",full.names=TRUE)
}
Run Code Online (Sandbox Code Playgroud)
我试图通过使用sprintf指定,但我得到了错误.任何帮助请:
for (i in c(1:365)) {
fileName <- sprintf("C:New folder (10)/Climate_Rad_%d.img", i)
}
Run Code Online (Sandbox Code Playgroud) 我有一个文本文件包含如下信息:
Grid Point Index, Latitude, Longitude, Cell
167, 0.000000, 9.432301, 1350
169, 0.000000, 9.544590, 1350
171, 0.000000, 9.656878, 1350
173, 0.000000, 9.769168, 1350
175, 0.000000, 9.881457, 1350
177, 0.000000, 9.993747, 1350
179, 0.000000, 10.106036, 1386
181, 0.000000, 10.218326, 1386
Run Code Online (Sandbox Code Playgroud)
我想找出这个lat和long的相应网格点和单元格:0.000000,11.902665.好吧,我可以手动完成,但这需要花费很多时间.可以确定没有与我的输入相对应的精确坐标,所以我希望文件中最接近的坐标与输入相对应.任何人都可以帮我构建这个功能
insert lat and long
Run Code Online (Sandbox Code Playgroud)
然后将在文件中找到最接近的lat-long以及相应的网格点索引和单元格
阅读文件
das= read.table("C:\\Users\\lonlatnter.txt", sep=",",header=TRUE)
Run Code Online (Sandbox Code Playgroud)