我在R中有一个矩阵,如下所示:
|1|2|3|
|1|2|3|
|1|2|3|
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以将整个矩阵顺时针旋转90度以获得这些结果?
|1|1|1|
|2|2|2|
|3|3|3|
Run Code Online (Sandbox Code Playgroud)
并再次旋转90度:
|3|2|1|
|3|2|1|
|3|2|1|
Run Code Online (Sandbox Code Playgroud)
?
我正在努力在 R 中打开 NetCDF 文件。当我尝试使用以下命令打开它时
library(ncdf)
# read in NetCDF file
maize.nc<-open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Error in R_nc_open: NetCDF: Unknown file format
Error in open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc") :
Error in open.ncdf trying to open file C:/Users/Jo/Desktop/pft_harvest_maize.nc
Run Code Online (Sandbox Code Playgroud)
奇怪的是,另一个带有径流数据的 NetCDF 文件来自完全相同的模拟,具有完全相同的数据类型,打开时没有任何问题。
文件大小的差异是径流:56.1 MB(58,870,472 字节)和收获:149 MB(156,968,508 字节)。所以文件实际上并没有太大而无法打开。有人知道我如何追踪导致此问题的错误吗?
使用该RNetCDF包我遇到了同样的问题(Error: NetCDF: Unknown file format)
从 ncdump 我得到:
netcdf pft_harvest_maize {
dimensions:
time = 199 ;
npft = 32 ;
latitude = 78 ;
longitude = 79 ;
variables:
string NamePFT(npft) ;
int time(time) ;
time:units …Run Code Online (Sandbox Code Playgroud) 鉴于以下数据:
df<-data.frame(
year=(1996:2000),
a=c(2,1.5,1.5,2,3),
b=c(2,2,2,3,4),
c=c(2,3,3,1,1))
Run Code Online (Sandbox Code Playgroud)
与ggplot:
ggplot(df,aes(x=year))+
geom_line(aes(y=a))+
geom_line(aes(y=b))+
geom_line(aes(y=c))
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

怎么样.我可以创建一个功能区,始终显示最小值和最大值之间的区域(将其视为最小 - 最大范围),使其看起来像这样:
