IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Calcul d'intervalle de temps avec R


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Calcul d'intervalle de temps avec R
    Bonjour !
    Je reviens avec un autre sujet sur les données IoT.
    J'ai une table qui se présente comme suit:

    Nom : cap.PNG
Affichages : 778
Taille : 4,2 Ko

    Du coup j'aimerais savoir s'il une fonction qui me permette de savoir combien de temps sépare la détection du capteur 1 à celle du capteur 2.
    Dans mon exemple, on voit qu'il y a eu 7 secondes de différence entre les deux déclenchements et que le premier a durée 38 secondes, le second 43 secondes avant de se mettre en mode aveugle.
    Merci !

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    Il faut que tu t'assures que les données de la colonne date soient reconnues comme un format temps sous R :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    tab <- structure(list(Date = structure(1:7, .Label = c("06-06-2018 15:00:58", 
    "06-06-2018 15:00:59", "06-06-2018 15:01:05", "06-06-2018 15:01:18", 
    "06-06-2018 15:01:36", "06-06-2018 15:01:48", "06-06-2018 15:01:50"
    ), class = "factor"), Capteur.1 = structure(c(2L, 2L, 2L, 2L, 
    2L, 1L, 1L), .Label = c("OFF", "ON"), class = "factor"), Capteur.2 = structure(c(1L, 
    1L, 2L, 2L, 2L, 2L, 1L), .Label = c("OFF", "ON"), class = "factor")), .Names = c("Date", 
    "Capteur.1", "Capteur.2"), class = "data.frame", row.names = c(NA, 
    -7L))
     
    tab$Date <- as.POSIXct(tab$Date, format = "%d-%m-%Y %H:%M:%S")
    d1 <- diff(tab$Date[sapply(tab[-1], function(x) which(x=="ON")[1])])
    d1
    Time difference of 7 secs
     
    sapply(tab[2:3], function(x) diff(range(tab$Date[x!="OFF"])))
    Capteur.1 Capteur.2 
           38        43
    Le dernier code ne fonctionne que parce qu'il n'y a qu'une seule série ON-OFF dans le jeu de données, sinon il faudra l'adapter.
    cdlt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Merci tototode pour ton aide!
    Pour le premier il fonction parfaitement dans le cas où je n'ai que 2 capteurs. Et là j'vais essayer de l'adapter avec un cas où je peux avoir n capteurs. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage des résultats avec intervalle de temps
    Par tsilavo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/11/2016, 19h34
  2. Réponses: 2
    Dernier message: 12/03/2014, 15h31
  3. Réaliser une action avec un intervalle de temps
    Par Ladgalen dans le forum PyQt
    Réponses: 5
    Dernier message: 25/11/2010, 16h51
  4. [Reporting Services]Requete MDX avec intervalle de temps
    Par titecaro dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/05/2007, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo