这是一个关于如何比较具有不同长度的两个不同数据帧的几列的问题.
我有两个不同长度的数据帧(来自receiver1(rec1)和receiver2(rec2)的数据),包含4个不同船只的位置:
rec1 <- data.frame(name = sample (c("Nina", "Doug", "Alli", "Steve"), 20, replace = TRUE),
lon = sample (1:20),
lat = sample (1:10)
)
rec2 <- data.frame(name = sample (c("Nina", "Doug", "Alli", "Steve"), 30, replace = TRUE),
lon = sample (1:30),
lat = sample (1:30)
)
Run Code Online (Sandbox Code Playgroud)
它们包含不同的名称(船名,两者的名称相同)和经度(lon)以及纬度(纬度)坐标.
我试图比较两个dfs,看看"lon"和"lat"中每个容器匹配多少个值(即两个接收器拾取相同位置的频率)
基本上我试图找出每个接收器有多好以及有多少数据点重叠(例如百分比).
我不确定这是如何做得最好的,我愿意接受任何建议.非常感谢!!!
关于显示一定数量的数字的问题已经发布,但是,仅针对单个值或向量,所以我希望有人可以帮助我.
我有一个包含多个列的数据框,并希望在一列中显示所有值,并带有两个十进制数字(仅限此列).我尝试了round()和format()和选项(数字),但没有一个在列上(数字).我想知道是否有一种方法可以做到这一点,而无需额外的方法将列转换为向量并再次粘合在一起.
非常感谢!
我正在处理有关海洋主要生产力的28个HDF4文件(年度.tar文件可在此处找到:http : //orca.science.oregonstate.edu/1080.by.2160.monthly.hdf.cbpm2.v.php)目标是进行一些计算(我需要计算每个区域的浓度并获得几年的平均值,即在空间上合并所有文件),然后将它们转换为可以在ArcGIS中使用的地理参考文件(最好是shapefile或geotiff)。
我尝试了几种方法来转换为ASCII或光栅文件,然后使用gdalUtils诸如gdal_translate和的工具添加投影get_subdatasets。但是,由于HDF4文件未按标准命名(与MODIS文件不同),因此后者不起作用,并且我无法访问这些子集。
这是我用来转换为栅格的代码:
library(raster)
library(gdalUtils)
setwd("...path_to_files...")
gdalinfo("cbpm.2015060.hdf")
hdf_file <- "cbpm.2015060.hdf"
outfile="testout"
gdal_translate(hdf_file,outfile,sds=TRUE,verbose=TRUE)
file.rename(outfile,paste("CBPM_test",".tif",sep=""))
rast <- raster("CBPM_test.tif")
wgs1984 <- CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")
projection(rast) <- wgs1984
#crs(rast) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
plot(rast)
writeRaster(rast, file="CBPM_geo.tif", format='GTiff', overwrite=TRUE)
Run Code Online (Sandbox Code Playgroud)
产生的投影完全关闭。我非常感谢您提供帮助(最好是批量处理)如何做到这一点(通过任何有效的格式转换)。