erreur dans une commande (which.min

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

souad becher
Messages : 43
Enregistré le : 04 Oct 2015, 13:06

erreur dans une commande (which.min

Messagepar souad becher » 23 Nov 2017, 11:22

Bonjour tout le monde,
J'ai essayé ce code qui vise à sélectionner les lignes ayant la date la plus petite pour un code précis.

Code : Tout sélectionner

newTab <- do.call("rbind", by(vit, vit[, "code"], function (idta) {
  out <- idta[which.min(idta[, "dated"]), ]
  return(out)
}))


avec vit ma base de données, code est l'identifiant, j'en ai plusieurs par ligne, et dated est la date d'une analyse.
L'erreur est la suivante :

Code : Tout sélectionner

Error in which.min(idta[, "dated"]) :
  (list) object cannot be coerced to type 'double'
Called from: which.min(idta[, "dated"])


Merci pour votre aide

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: erreur dans une commande (which.min

Messagepar Mickael Canouil » 23 Nov 2017, 12:38

Bonjour,

le type de votre colonne "dated" n'est pas numérique ou assimilé.
A priori, c'est même une chaîne de caractère. Il vous faut donc la convertir a minima dans un format date, avec les fonctions as.Date ou as.POSIX*

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

souad becher
Messages : 43
Enregistré le : 04 Oct 2015, 13:06

Re: erreur dans une commande (which.min

Messagepar souad becher » 23 Nov 2017, 20:39

ma variable dated est bien de classe date

Code : Tout sélectionner

 class(vo$dated)
[1] "Date"

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: erreur dans une commande (which.min

Messagepar Pierre-Yves Berrard » 23 Nov 2017, 21:53

Bonjour,

Faute de code reproductible, j'en suis réduit à supposer que idta[, "dated"] est un data.frame d'une seule colonne.

Essayer de remplacer par

Code : Tout sélectionner

idta$dated
ou

Code : Tout sélectionner

idta[["dated"]]
PY

souad becher
Messages : 43
Enregistré le : 04 Oct 2015, 13:06

Re: erreur dans une commande (which.min

Messagepar souad becher » 24 Nov 2017, 20:31

Ce que je veux faire :
J'ai une base de données

Code : Tout sélectionner

code       sexe      examen            dated        resultat
1      F      glucose        21/04/2016     1.10
1      F         glucose        30/08/2016      0.9
1       F         HDL   
2      H   TG         04/12/2016
2      H   TG         03/02/2017


Je veux avoir une base de données contenant seulement la première visite pour chaque patient

Code : Tout sélectionner

code       sexe      examen            dated        resultat
1      F      glucose        21/04/2016     1.10
1       F         HDL   
2      H   TG         04/12/2016

souad becher
Messages : 43
Enregistré le : 04 Oct 2015, 13:06

Re: erreur dans une commande (which.min

Messagepar souad becher » 14 Déc 2017, 11:14

s'il vous plait, y a t-il une aide concernant ce topic?

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: erreur dans une commande (which.min

Messagepar Serge Rapenne » 14 Déc 2017, 11:22

Un peu de lecture : viewtopic.php?f=1&t=7638

Serge

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: erreur dans une commande (which.min

Messagepar Pierre-Yves Berrard » 14 Déc 2017, 11:33

Et essayer ma proposition du 23 Nov 2017, 22:53.
PY


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité