【发布时间】:2014-10-16 14:52:25
【问题描述】:
我在 R 中有以下 netcdf 文件:
"file oceandata.nc has 2 dimensions:"
"lon Size: 2160"
"lat Size: 900"
"------------------------"
"file oceandata.nc has 14 variables:"
"float bio1[lon,lat] Longname:bio1: Annual Mean Temp Missval:1e+30"
"float bio4[lon,lat] Longname:bio4: Temp Seasonality (standard deviation * 100) Missval:1e+30"
"float bio8[lon,lat] Longname:bio8: Mean Temp of Wettest Quarter Missval:1e+30"
"float bio9[lon,lat] Longname:bio9: Mean Temp of Driest Quarter Missval:1e+30"
"float bio10[lon,lat] Longname:bio10: Mean Temp of Warmest Quarter Missval:1e+30"
"float bio11[lon,lat] Longname:bio11: Mean Temp of Coldest Quarter Missval:1e+30"
"float bio12[lon,lat] Longname:bio12: Annual Precipitation Missval:1e+30"
"float bio13[lon,lat] Longname:bio13: Precipitation of Wettest Month Missval:1e+30"
"float bio14[lon,lat] Longname:bio14: Precipitation of Driest Month Missval:1e+30"
"float bio15[lon,lat] Longname:bio15: Precipitation Seasonality (coefficient of variation) Missval:1e+30"
"float bio16[lon,lat] Longname:bio16: Precipitation of Wettest Quarter Missval:1e+30"
"float bio17[lon,lat] Longname:bio17: Precipitation of Driest Quarter Missval:1e+30"
"float bio18[lon,lat] Longname:bio18: Precipitation of Warmest Quarter Missval:1e+30"
"float bio19[lon,lat] Longname:bio19: Precipitation of Coldest Quarter Missval:1e+30"
我想对文件中的 14 个变量执行 PCA,但不确定如何执行此操作,或者是否需要将数据转换为其他格式才能执行此操作。
到目前为止我已经完成了(下面的错误消息):
ocean <- open.ncdf("oceandata.nc")
bio1 <- get.var.ncdf(nc=ncdf, varid="bio1")
bio4 <- get.var.ncdf(nc=ncdf, varid="bio4")
bio8 <- get.var.ncdf(nc=ncdf, varid="bio8")
bio9 <- get.var.ncdf(nc=ncdf, varid="bio9")
dim(bio1)
[1] 2160 900
class(bio1)
[1]“矩阵”
oceanvars <- cbind(bio1,bio4, bio8, bio9)
colnames(oceanvars) <- c("bio1", "bio4", "bio8", "bio9")
colnames<-(*tmp*, value = c("bio1", "bio4", "bio8", "bio9" 中的错误:'dimnames' [2] 的长度不等于数组范围
pairs(oceanvars)
plot.new() 中的错误:图边距太大
pca1 <- princomp(oceanvars, scores=TRUE, cor=TRUE)
princomp.default 中的错误(oceanvars,scores = TRUE,cor = TRUE):“princomp”只能用于比变量更多的单位
任何建议将不胜感激!
【问题讨论】: