Как подмножество по дате в R

Я пытаюсь выполнить подмножество по дате, и я могу использовать некоторый код, найденный здесь, но новый набор данных содержит все данные в исходном наборе данных, а НЕ данные с датой только 6/4/18.

Имя моего набора данных - "Полный", а заголовок столбца - "Дата".

вот код:

Full$date <- as.Date(Full$Date, format= "%m/%d/%Y")
Firstday <- subset(Full, Date = "6/4/18" & date < "6/5/18")

Вот пример данных

Date    Weight    Length  Metabolic rate ext.
6/4/18     45        150      8
6/4/18     35        145      9
6/8/18     15        125      10 
6/8/18     16        100      2

Не совсем понятно, чего вы здесь пытаетесь достичь. Рассмотрите возможность публикации некоторых примеров данных, представляющих Full, и демонстрации ожидаемого результата. Объясните, почему у вас есть Date и date как отдельные переменные и какова цель этих двух условий в subset().

andrew_reece 20.07.2018 19:33

Вы должны меня простить, я новичок в работе с R и использовании этого языка. У меня нет причины, по которой дата и дата являются отдельными переменными. Вот пример данных.

Jacob Bowman 20.07.2018 19:37

Лучше всего, если вы отредактируете свой пост, а не попытаетесь включить все это в комментарий. Кроме того, вы, вероятно, можете сузить примеры данных до критических полей. Ознакомьтесь с инструкциями по созданию минимальный воспроизводимый пример.

andrew_reece 20.07.2018 19:42

Это два знака равенства, Date == "6/4/18".

Rui Barradas 20.07.2018 19:43

Чтобы сравнивать даты, вам нужно, чтобы обе стороны были датами. Что-то вроде: Firstday <- subset(Full, date == as.Date("2018-6-4")). date < as.Date("2018-6-5") тоже не нужен.

acylam 20.07.2018 19:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
5
90
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы хотите выбрать только «6/4/18», вы можете отфильтровать его, используя:

library(dplyr)
Firstday <- Full %>% filter(Date == "6/4/18")

Это сработало в тот день, но я надеюсь выбрать именно этот день.

Jacob Bowman 20.07.2018 19:41

Отредактировал ответ

Aleksandr 20.07.2018 19:44

Что ж, сначала вы должны знать, чего хотите достичь :) Выполняя Date == "6/4/18" & date <"6/5/18", вы говорите, что хотите выбрать "6/4/18" и что угодно меньше, чем «05.06.18». Как видите, в этом случае ваши ограничения даты накладываются друг на друга, поэтому это не то, что вам нужно. Выбор одной точки даты дает то, что вы хотите.

Aleksandr 20.07.2018 19:53

Также как бы вы выбрали диапазон дат?

Jacob Bowman 20.07.2018 19:56

Легкий. Допустим, вы хотите выбрать наблюдения за последние недели: Полный фильтр%>% (Дата> «13/7/18», Дата <«20/7/18») или даже: Полный фильтр%>% (между (Дата, «13 / 7/18 "," 20/7/18 "))

Aleksandr 20.07.2018 19:59

Позвольте нам продолжить обсуждение в чате.

Jacob Bowman 20.07.2018 20:23

Если у вас уже есть столбец класса Date и вы хотите выполнить фильтрацию по дате, просто используйте этот столбец.

Firstday <- subset(Full, date == as.Date("6/5/18", format= "%m/%d/%y")

Однако обратите внимание, что при приведении столбца Date ваш формат кажется неправильным:

  • с двумя цифрами года используйте %y, а не %Y.

Другие вопросы по теме