
Ce forum de discussion est ouvert à tous les utilisateurs francophones de prevR. Une forum en anglais est accessible ici : Internet forum in English.
Bonjour,
Je suis sous ubuntu. J’ai installé R version 2.7.1. J’essaye d’installer prevR mais sans succées. J’ai utilisé la méthode d’install des packages, j’ai aussi essayé d’ajouter cette librairies à celle disponible dans R ... mais rien !
comment faire ?
d’avance merci
Avez-vous télécharger la version en .tar.gz ? En effet, la version en .zip n’est fonctionnelle que pour Windows.
La procédure pour installer un package sous Linux à partir des fichiers sources est décrite ici : http://cran.r-project.org/doc/manuals/R-admin.html#Installing-packages.
Vous devez utilisez, depuis un fenêtre de commande, la fonction R CMD INSTALL.
Bonjour,
Je ne sais pas si c’est le bon forum pour poser des questions sur les fonctions de R mais je tente ...
Merci
Le pas utilisé par le semi-variogramme est celui utilisé par défaut par la fonction variogram de gstat.
La taille des pixels de la grille de sortie est définie par le paramètre cell.size de la fonction krige.prev. Il s’agit de la largeur d’un pixel exprimée en degrés.
Concernant la définition du pas du variogramme, je vous renvoie à la documentation de la fonction variogram disponible à cette adresse : http://cran.r-project.org/web/packages/gstat/gstat.pdf.
Concernant la fonction krige, vous lui fournissez, via le paramètre newdata la liste des points pour lesquels vous souhaitez réaliser une prédiction (voir la documentation). Vous avez alors ici toute latitude pour fournir une liste de points précis ou bien une grille donnée.
Merci pour votre aide !
J’ai réussi à avoir un variogramme ... Pour l’ajuster j’utilise un modéle Exp et j’essaye d’affiner le modéle en jouant sur « psill » et « range ». (d’ailleurs votre tutorial PrevR m’a été d’une grande aide pour comprendre tout ça). Le pbm est que peut importe les valeurs que je donne à « psill » et « range », ma courbe d’ajustement ne change pas. Savez vous d’ou peut venir le souci ?
Merci encore !
variogram calcule votre variogramme expérimental. Il ne dépend donc pas de vos paramètres psill et range, mais de vos données observées. C’est ce variogramme expérimental que vous allez chercher à modéliser sous la forme d’une courbe mathématique connue (voir explication page 42 du tutoriel de prevR).
variogramLine permet de représenter graphiquement un modèle de semi-variogramme que vous avez choisi.
fit.variogram permet d’ajuster les paramètres d’un modèle de variogramme pour générer un modèle de variogramme le plus proche possible du variogramme expérimental (qui lui ne dépend que de vos données).
Je me suis peut être mal exprimée. Au fait j’essaye d’ajuster les paramétres de vgm dans fit.variogram c’est à dire
v.fit <- (v, model = (psill, "exp, range))
et si j’ai bien compris c’est psill et range que j’essaye de modifier pour avoir un modéle de variogramme proche de mon variogramme expérimental.
Sauf que : quand je change ces deux valeurs rien ne se passe sur ma courbe.
Au fait j’essaye de faire la même chose que vous dans le tutorial de prevR page 47.
Les paramètres fournit à fit.variogram ne sont que des points de depart utilisés par l’algorithme d’ajustement. Ce que va vous renvoyer fit.variogram est un modèle ajusté selon une procédure automatisée au variogramme expérimental et vous pouvez obtenir le même modèle ajusté à partir de points de départs différents.
Dans prevR, si le modèle produit par fit.variogramme ne nous convient pas, nous avons fait le choix d’un ajustement visuel. Dans ce cas là, nous affichons le variogramme expérimental ainsi qu’un modèle de variogramme fixe (donc sans passer par fit.variogramme mais en utilisant vgm). Et nous procédons à plusieurs essais jusqu’à obtenir des valeurs de psill et de range qui produisent un modèle qui nous sommes convenable.
Si vous utilisez krige.prev avec type="ask", vous serez guidé pas à pas pour modifier les valeurs du modèle qui sera finalement utilisé. La fonction vous aidera donc à réaliser un ajustement manuel si l’ajustement automatique ne vous convient. Je vous invite à vous reporter au manuel technique détaillant chaque fonction.
Si vous utilisez la fonction krige de gstat, ce sera alors à vous de passer en paramètre le modèle de variogramme à utiliser.
Bonjour,
Merci pour vos réponses. J’ai finalement otpé pour l’utilisation de la fonction krige.prev avec type = ’auto’ dans un premier temps. j’avais cependant une question : Est ce qu’il y a un nombre maximum de points à ne pas dépasser dans l’échantillon de points à interpoler (J’ai un fichier de 25 000 points correspondant à des valeurs relevées sur un département) au risque de ne jamais voir aboutir mes calculs !
Merci
Vous parlez du nombre de points observés (données de départ) ou bien du nombre de points estimés sur la grille ?
Cela dépend de la puissance de calcul de votre ordinateur. Personnellement, j’ai travaillé avec des données de départ comprenant de 300 à 800 points observés. Devoir prendre en compte 25’000 points observés, cela fait beaucoup.
Pour l’estimation, j’ai généré des cartes avec des grilles de 100’000 points estimés (voir l’exemple en 8.3 du tutoriel avec une grille de taille 308x458 cellules). Après, n’hésitez pas à laisser tourner votre PC 5 à 10 minutes avec des grosses grilles.
25000 points observés ce qui me génére une grille de 3425 * 5741 points estimés. Le calcul est landé depuis ce matin 10h30 et pas encore de résultat.
Est ce que la fonction krige.prev génére un message d’erreur si le calcul n’aboutit pas ? est ce qu’il y a risque de boucle infini ou quelque chose dans ce type ?
krige.prev ne réalise pas directement l’interpolation spatiale. Elle prépare les donnés et sous-traite l’interpolation à la fonction krige de gstat.
Tant que l’ordinateur tourne, c’est que le calcul est en cours. Par contre, il est possible que ce calcul prenne un temps extrémement long. Vous estimez en effet près de 19 millions de points !!!!!!!!!!
Vous pouvez soit patienter, soit essayer de réaliser une interpolation sur une petit grille de 100*100 (histoire de voir si la fonction gère sans problème le nombre de points observés). Puis ensuite passer à des grilles plus grosses.
Bonjour,
J’essaye d’utiliser la fonction krige.prev de prevR pour faire de l’interpolation sur un jeu de données sous forme de fichier test.csv où il y a trois colonnes (longitude, latitude, valeur) où longitude et latitude sont en degrés voila ma commande
resultat <- krige.prev (formula = valeur 1 , data =test , cellsize = 0.0025, type =’auto’, lang =’fr’) et j’ai ce message d’erreur
Une taille de cellule de 0.0025 induit une grille de NaNxNaN cellules.
J’ai supposé que cela est su au fait que je n’ai pas l’information test.bounds qui donne la frontiére de la zone et donc ne peut pas avoir le nombre de cellules.
comment faire ?
merci
En l’absence du paramètre boundary, krige.prev calcule l’interpolation au sein d’un rectangle défini par les coordonnées maximum observées dans data.
Dans votre fichier de données, il semble que vos coordonnées sont données dans des colonnes nommées longitude et latitude. Or, par défaut, krige.prev recherche les coordonnées dans les colonnes x et y qui, en l’occurrence, n’existent pas, d’où votre erreur.
Vous devez alors spécifier les colonnes contenant les coordonnées des points en rajoutant le paramètre locations = longitude + latitude.
Je vous invite à la lire la documentation détaillée du manuel de prevR qui renseigne en détail sur les différents paramètres de chaque fonction. Le tutoriel, quant à lui, se focalise sur l’utilisation de prevR dans un cas particulier, celui de la cartographie de la prévalence du VIH à partir des EDS. Tous les paramètres n’y sont donc pas détaillés.
PS : par ailleurs, il est bienvenue de se présenter plutôt que de rester anonyme. ![]()
Bonjour,
J’ai parfois ce message d’erreur savez vous comment le corriger ?
« memory.c », line 57 : can’t allocate memory in fucntion m-get() Erreur dans predict.gstat( g , newdata = newdata , block = block , nsim = nsim , m_get)
J’imagine bien que c’est un probléme d’allocation memoire mais je ne vois pas comment le corriger ! Pour info je dispose de 3 GO de memoire vive .
Merci d’avance pour votre réponse
Cela signifie simplement que votre calcul est trop exigeant pour les capacités de votre ordinateur. Si j’ai bonne mémoire, vous souhaitez réaliser une interpolation spatiale en prenant en compte un nombre de points observés particulièrement élevé et pour générer une grille gigantissime.
Essayez de faire des essais avec des requêtes moindres. Par ailleurs, il me semblerait pertinent que vous réalisiez un krigeage en tenant compte d’un nombre limité de points observés autour de chaque point à estimé. Cela est, de mémoire, possible avec gstat mais je vous renvoie à la documentation de ce package, ceci n’étant pas implémenté dans prevR.
Bien cordialement