каждый Я просто новичок в R, поэтому следующий код или вопрос может неправильно понять функцию R. Надеюсь, вы, ребята, не против.
Я получил сотни данных о суточных осадках ERA от ECMWF.
Каждый ежемесячный файл NetCDF содержит два раза в день осадков и извлекает их по долготе и широте.
Наконец, преобразуйте в файл CSV, но сохраните (12:00; 00: 00) два столбца для
в те же дни количество осадков.
Изображение вывода CSV
В идеале я хотел бы получить однодневные осадки за целый год или месяц. Но не знаю, как это сделать в R.
Q1: Существует ли какая-либо библиотека или функция, поддерживающая объединение имен столбцов и сохранение
те же даты?
Q2: Однако я не уверен, что библиотека lubridate сможет выполнить эту задачу, иначе
лучше.
----- Спасибо за любые ответы ---------
Если кто-то хочет просмотреть файл NetCDF и файл .csv, вы можете получить его из моего драйвера Google:
https://drive.google.com/drive/folders/1ogQp_-MlvmJCDmzm38dXHbUmWAM6hi1v?usp=sharing
P.S В Google Drive SumMonth.csv - это результат извлечения
R код:
library(raster)
library(ncdf4)
f <- list.files("C:/Users/asus/Downloads/extract",
pattern = "*.nc", full.names = TRUE)
ncloop <-lapply(f,nc_open)# Read whold folder nc.file
brick <-lapply(f,brick,varname = "tp")
brick2 <-stack(brick)# Combine all month
dim(brick2)#check dim right
##### input location file with Lon&Lat
pointCoordinates <- read.table("C:/Users/asus/Downloads/pointFile.csv",
header = TRUE, sep = ",",stringsAsFactors=FALSE)
coordinates(pointCoordinates) <- ~Long + Lat # Assign XY for extract
rasValue=extract(brick2, pointCoordinates)#extract
combinePointValue=cbind(pointCoordinates,rasValue)#construct database
## Outout as csv
cc <- as.data.frame(combinePointValue)
write.csv(cc,file ="SumMonth.csv")