2017-06-02 1 views
-1

J'ai des données sur les accidents d'avion (date de l'accident et autres infos). Pour mon projet de statistiques, je veux analyser les données. Par exemple, je veux tracer le nombre d'accidents dans une période de trois mois entre 1995 et 2000. Ce qui veut dire que, pour les trois autres mois consécutifs de cette période, je veux connaître le nombre d'accidents dans cette période. Comment puis-je obtenir le plus efficacement possible le nombre d'accidents pour ces périodes de trois mois dans R afin de pouvoir manipuler davantage les données?Manipuler des dates dans R

Aussi, je veux tester statistiquement si mes données suivent la distribution de Poisson. Puis-je utiliser le test de la qualité de l'ajustement en R sur mes données?

Jusqu'ici, j'ai écrit ceci. Mon idée était de créer un vecteur dont les valeurs représenteraient le nombre de plantages sur une période de trois mois entre 1995 et 2000. Les données sont triées par date, chaque ligne de la table représente un accident d'avion.

Crash<-read.csv(file="nesrece95-99.csv", header=TRUE, sep=",") 
Datumi=as.Date(Crash$Date,"%m/%d/%Y") 
help(vector) 
broj<-vector(mode="integer", length = 20) 
ind<-integer() 
ind=-1 
god<-integer() 
god=0 
mjesec<-integer() 
mjesec=0 

help(date) 
for(i in 1:length(Datumi)) 
    { 
    if(year(Datumi[i])!=god) 
    { 
    ind=ind+1 
    god=year(Datumi[i]) 
    print(god) 
    mjesec=1 
    } 
    else if(month(Datumi[i]> (mjesec+2))) 
    { 
    ind=ind+1 
    mjesec=month(Datumi[i]) 
    } 
    broj[ind]=broj[ind]+1 
} 

Il me donne une erreur:

Error in as.POSIXlt.default(x, tz = tz(x)) : 
    do not know how to convert 'x' to class “POSIXlt” 

Mais je ne sais pas quel est le problème exactement. J'étudierai ces bibliothèques plus à fond plus tard. Je suis nouveau à R, mais je dois l'utiliser pour mon projet.

+1

Salut Dorotea, s'il vous plaît dites-nous ce que vous avez fait jusqu'ici pour essayer de commencer le travail - SO Q & A existe pour nous permettre de vous aider à étendre vos propres tentatives, pas vous démarrer depuis le début. En outre, il est utile de laisser un exemple reproductible avec du code exécutable (nous n'avons donc pas besoin de recréer votre exemple en créant notre propre code de trame de données, par exemple). Lire la suite ici: https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example. – Joy

+1

Jetez un oeil à la documentation pour POSIXct, POSIXlt, et lubrifier dans R. –

+0

@Joy Le problème était que j'étais bloqué au début (ou plutôt je suis toujours) parce que je ne sais pas vraiment beaucoup de codage dans R. tous, je dois obtenir ce vecteur de nombre d'accidents pour continuer à le tester plus tard, ce que je saurais faire. Je m'excuse si je voulais que quelqu'un le résolve pour moi. – Waddles

Répondre

0

Puisque je n'ai aucune impression de vos données, je peux juste deviner, mais peut-être que le regroupement des données dans des périodes de 3 mois a du sens? le dplyr -Package (look at the cheat sheet here) offre une fonction de groupement qui pourrait vous permettre de spécifier les trois mois respectifs et de résumer le nombre d'accidents.