1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

R HELP ME :)

Discussão em 'Programação' iniciada por MarisaModista, 8 de Junho de 2018. (Respostas: 1; Visualizações: 219)

  1. Viva

    Encontro-me a desenvolver um KNN, e está a dar-me o seguinte erro.

    Ano <- as.numeric(year(as.Date(DS_Treino$Dates)))
    DS_Treino$Ano <- Ano
    DS_Treino <- DS_Treino %>%
    filter(Ano<2015)

    unique(DS_Treino$Ano)

    Category <- DS_Treino$Category
    District <- as.numeric(as.factor(DS_Treino$PdDistrict))
    Dayofweek<- as.numeric(as.factor(DS_Treino$DayOfWeek))
    Hour <- as.numeric(as.factor(hour(DS_Treino$Dates)))
    X <- as.numeric(DS_Treino$X)
    Y <- as.numeric(DS_Treino$Y)
    Ano <- as.numeric(year(as.Date(DS_Treino$Dates)))

    unique(Ano)
    library (class)
    DataSet_Treino.x <- cbind( District,Dayofweek, Hour, X, Y)[DS_Treino , ] # parâmetro 1 do KNN
    DataSet_Teste.x=cbind (District,Dayofweek,Hour, X, Y)[!DS_Treino , ] # Parâmetro 2 do KNN
    DataSet_Category = DS_Treino$Category[DataSet_Treino] # Direção das observações (È o terceiro parâmetro necessário)
    category_2014=Category[!DataSet_Treino]

    erro:
    Error in cbind(District, Dayofweek, Hour, X, Y)[DS_Treino, ] :
    invalid subscript type 'list'
     
  2. Mr Correia

    Mr Correia Power Member

    Já não uso R há algum tempo, mas assim à primeira vista parece-me que o problema é estares a usar DS_Treino (um dataframe) para fazer slicing. Para fazeres slicing precisas de criar um vector de booleans: DS_Bol <- which(DS_Treino$Ano < 2015).

    E depois fazer o que tinhas:
    DataSet_Treino.x <- cbind(District, Dayofweek, Hour, X, Y) [DS_Bol,]
     

Partilhar esta Página