Centre de gravité

Questions sur les fonctions statistiques de R

Modérateur : Groupe des modérateurs

François Roullier
Messages : 21
Enregistré le : 09 Déc 2005, 11:11

Centre de gravité

Messagepar François Roullier » 20 Jan 2006, 16:43

Bonjour à tous!

Tout d'abord, je me permets de presenter a chacun de vous tous mes meilleurs voeux pour cette année à venir!
Passons maintenant aux choses serieuses!

Voici un exemple de données:

A<-matrix(c(-1, -0.167, 0.167, 1,0, 0.833, 0.833, 0), nrow=4)
B<-matrix(c(0, 0.167, 1.833, 2, 0, 0.167, 0.167, 0), nrow=4)
plot(A, xlim=c(-1,2),t="l")
lines(B)

Je suis en fait confronté à deux problèmes:
1) je souhaite joindre ces deux surfaces de maniere a n'en avoir qu'une seule;
2) je voudrais calculer le centre de gravité de cette nouvelle surface.

Là, j'avoue que je seche un peu... Obtenir une seule surface ne présente qu'un "léger" probleme, mais ma méthode est pour l'instant un peu lourde et ne fonctionne pas dans tous les cas.
Par contre, pour le centre de gravité, je pensais qu'il existe une fonction deja implémentée, mais apparemment ce n'est pas le cas. Il doit donc falloir repasser par les integrales, fonctions que je n'ai pas encore manipulées.
Je fais donc appel à vous, en esperant que vous serez plus inspiré que moi!
D'avance merci!

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 20 Jan 2006, 19:49

Tordu, mais possible en utilisant les packages gpclib et spatstat:

Code : Tout sélectionner

A<-matrix(c(-1, -0.167, 0.167, 1,0, 0.833, 0.833, 0), nrow=4)
B<-matrix(c(0, 0.167, 1.833, 2, 0, 0.167, 0.167, 0), nrow=4)

library(gpclib)
A <- as(A, "gpc.poly")
B <- as(B, "gpc.poly")
AB <- union(A, B)


area.poly(AB)
plot(AB)


library(spatstat)


W <- list(x = rev(AB@pts[[1]]$x), y = rev(AB@pts[[1]]$y))
w <- owin(poly = W)
plot(w)
points(centroid.owin(w))
centroid.owin(w)

Amicalement,

Renaud

François Roullier
Messages : 21
Enregistré le : 09 Déc 2005, 11:11

Messagepar François Roullier » 23 Jan 2006, 10:36

Ok! Je viens d'essayer et effectivement, ça marche plutot bien!
Donc, encore merci. Et a bientot sur le forum pour d'autres questions!

François


Retourner vers « Archives : Fonctions statistiques »

Qui est en ligne

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