Я очень новичок в Р., и я полностью поразил эту проблему. вы можете скачать файл netCDF со ссылкой ниже, чтобы посмотреть.Как преобразовать мои пространственно-временные данные NetCDF в пространственные данные?
https://drive.google.com/file/d/0ByY3OAw62EShbkF6VWNFUkRYMmM/view?usp=sharing
^Это мой NetCDF атмосферная файл данных с 8 переменной и 8 измерения. Здесь представлены мои переменные, представляющие интерес:
TIMSID - это номер сайта (включая городской участок, сельский участок и т. Д.)
URBAN :: количество городских объектов [городской 3-х рядный столбец матрицы. row1 - количество городских объектов, row2 - latidude, строка 3 - долгота.]
TIME :: данные были собраны с 1 марта 2012 по май 2012 г. [кодирование по времени] - YYYYMMDDHH]
PM10 :: концентрация часчатых частиц измеряется на каждой станции каждого участка
Мне нужно работать только с этими 4 переменными из этого большого набора данных.
Мне нужно отделить данные значений PM10 только на городских объектах только за «1 марта 2012 года». (На самом деле мне нужно найти в переменной TIMSID, какие сайты являются городскими сайтами и соответствуют соответствующему значению PM10 для городских объектов только на 01 марта 2012 года.)
Например, в TIMSID существуют различные типы сайтов, таких как городские, сельские и т. Д. названный 111121,111122,111123,111124, но городский номер участка 111121,111123..etc, поэтому я должен рассматривать только городской сайт из данных TIMSID и хочу соответствовать соответствующему значению pm10, времени, широте, долготе. И затем, наконец, хочу сделать новый набор данных.
Конечный стол/набор данных должен быть ~ column1-time (только 1 марта 2012 года), номер столбца2 города, колонка (3,4) -значность и долгота соответствующих городских объектов, столбцы 5- почасовое значение pm10 в каждый городской сайт
Я использовал следующую команду для чтения данных из файла NetCDF. Но я не могу понять, что я должен делать дальше ...
install.packages("ncdf",dependencies=TRUE)
library(ncdf)
nc<-open.ncdf("2012_03_05_PM10_surface.nc")
print(nc)
tmsid<-get.var.ncdf(nc,"TMSID")
timsid
urban<-get.var.ncdf(nc,"urban")
urban
time<-get.var.ncdf(nc,"TIME")
pm10<-get.var.ncdf(nc,"PM10")
Как я новичок в R, так что я знаю только основные команды. Я не могу понять, какой конкретный пакет я должен научиться решать эту проблему. Пожалуйста, помогите мне? Заранее благодарю за ваше драгоценное время. Если вам нужна дополнительная информация, пожалуйста, спросите меня в любое время.
Спасибо @plannapus. благодаря сообществу R, чтобы вдохновить меня на R., и не могли бы вы предложить мне, что я должен узнать больше об этом типе управления данными? Недавно я пытаюсь научиться применять семью.Некоторые люди говорят о пакете «plyr» вместо того, чтобы применять семью. что вы думаете? – Orpheus
Будучи «пуристом», я бы подумал, что сначала вы должны научиться использовать семейство «apply», а затем, если хотите, «plyr»: это правда, что все больше людей используют его, поэтому вы должны хотя бы познакомиться с ним, чтобы понять их код, и я уверен, что был способ сделать то, что я сделал в этом ответе, только в одном слое с plyr (вместо 'lapply',' do.call', а затем 'merge ', можно было бы использовать прямо' ddply', я думаю) :) – plannapus
Большое спасибо @plannapus. Я получаю поклонника этой веб-страницы, и, вероятно, в течение следующих нескольких месяцев я буду постоянно беспокоить вас, ребята, моим глупым вопросом. извините заранее. – Orpheus