Соответствие диапазона дат одной категориальной переменной - PullRequest
0 голосов
/ 08 марта 2019

Я новичок, использующий R, и я хочу создать фрейм данных, в котором будет храниться диапазон дат для соответствующего классифицированного периода времени.

paleo.periods <- c("Paleoindian","Early Paleoindian", "Middle Paleoindian", "Late Paleoindian", "Archaic","Early Archaic", "Middle Archaic","Late Archaic","Woodland","Early Woodland","Middle Woodland","Late Woodland","Late Prehistoric")

paleo.dates <- c(c(13500,8000), c(13500,10050) ,c(10050,9015), c(9015,8000), c(8000,2500), c(8000,5500), c(5500,3500), c(3500,2500), c(2500,1150), c(2500,2000), c(2000,1500), c(1500,1150), c(1150,500))

Я бы хотел, чтобы вышло соглашение, где я могу сослаться на данный период времени, например: «Поздний лесной массив», и получить связанный вектор его начального и конечного таймфреймов, например: (1500,1150)

Я пытался просто сделать это

paleo.seg <- data.frame(paleo.periods,paleo.dates)

однако, это создает 3 переменные: список периодов, список векторов и paleo.dates. Я не уверен, почему он создает 3 переменные, так как я хотел бы, чтобы это было только 2: paleo.periods и paleo.dates. Я также хотел бы сослаться на них как paleo.seg$paleo.periods, который будет возвращать список периодов (и позже использовать его, чтобы как-то ссылаться на периоды по отдельности), то же самое с датами.

По сути, я бы хотел, чтобы мой фрейм данных выглядел примерно так:

paleoperiods           paleodates    
"Late Woodland"    1500,1100

Поэтому я мог бы специально искать строку «Поздний лес» и найти векторные даты. Я попытался сделать это на моем текущем data.frame, и "Woodland" %in% paleo.seg возвращает false. Поэтому я чувствую, что неправильно понимаю, как построить правильный фрейм данных, а также могу сопоставить одну категориальную переменную с двумя датами.

1 Ответ

0 голосов
/ 08 марта 2019

Есть несколько способов сделать это в зависимости от ваших рассуждений о том, что вы хотите сделать со своим фреймом данных.На самом деле, я бы рекомендовал разбить столбец дат на два отдельных столбца дат (я полагаю, что из вашего описания - начало и конец).Таким образом, вы можете рассчитывать или использовать правила на основе дат.Я нашел это полезным при просмотре данных, поскольку он дает вам возможность фильтровать по двум различным аспектам даты.Если вы хотите, чтобы они были в одном столбце, вы можете сделать даты символом, чтобы они были в одном столбце.Однако этот подход имеет недостатки с точки зрения использования его для анализа поисковых данных.Примером этого может быть:

paleo.dates <- c("13500,8000","13500,10050","10050,9015","9015,8000", ...)

Это позволит вам найти «Поздний лес» и получить «1500,1100», но вы не сможете искать периоды, возникающие после 1500, если этот типанализа - это то, что вы будете делать на более позднем этапе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...