подмножество данных на основе y / m / d / h и получение ошибок ouputs [duplicate]

Геттеры и сеттеры используются для реализации двух основных аспектов объектно-ориентированного программирования, которые:

  1. Абстракция
  2. Инкапсуляция

Предположим, у нас есть класс Employee:

package com.highmark.productConfig.types;

public class Employee {

    private String firstName;
    private String middleName;
    private String lastName;

    public String getFirstName() {
      return firstName;
    }
    public void setFirstName(String firstName) {
       this.firstName = firstName;
    }
    public String getMiddleName() {
        return middleName;
    }
    public void setMiddleName(String middleName) {
         this.middleName = middleName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getFullName(){
        return this.getFirstName() + this.getMiddleName() +  this.getLastName();
    }
 }

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

18
задан sebastian-c 23 January 2013 в 07:20
поделиться

2 ответа

Ну, это явно не число, так как в нем есть тире. Сообщение об ошибке и два комментария говорят вам, что это фактор, но комментаторы, видимо, ждут и пропускают сообщение. Dirk предлагает вам сделать это:

 EPL2011_12$Date2 <- as.Date( as.character(EPL2011_12$Date), "%d-%m-%y")

После этого вы можете сделать это:

 EPL2011_12FirstHalf <- subset(EPL2011_12, Date2 > as.Date("2012-01-13") )

Функции даты R предполагают, что формат является либо «ГГГГ-ММ-ДД», либо «ГГГГ / ММ / ДД». Вам нужно сравнить как классы: дату и дату, или символ для символа.

33
ответ дан 42- 1 September 2018 в 07:11
поделиться

Первое, что вам нужно сделать с переменными даты, это подтвердить, что R читает его как дату. Чтобы сделать это, для переменной (то есть вектора / столбца), называемой Date, в кадре данных EPL2011_12, вход

class(EPL2011_12$Date)

Выход должен быть прочитан [1] «Дата ». Если это не так, вы должны отформатировать его как дату, введя

EPL2011_12$Date <- as.Date(EPL2011_12$Date, "%d-%m-%y")

. Обратите внимание, что дефис в формате даты ("% d-% m-% y ") выше также может быть слэшем ("% d /% m /% y "). Убедитесь, что R видит это как дату. Если это не так, попробуйте выполнить другую команду форматирования

EPL2011_12$Date <- format(EPL2011_12$Date, format="%d/%m/%y")

. После того, как вы получили ее в формате даты, вы можете использовать команду subset, или вы можете использовать скобки

WhateverYouWant <- EPL2011_12[EPL2011_12$Date > as.Date("2014-12-15"),]

5
ответ дан coip 1 September 2018 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: