1. Grâce à ce formulaire vous pouvez proposer une astuce ou un script sur R.
  2. Votre script doit pouvoir être lancé en l'état. Veuillez penser à :
    • inclure le chargement des "library" nécessaires
    • construire un petit jeu de données si besoin est.
    • commenter les lignes de codes pour en faciliter la compréhension.
  3. Le titre de votre script ou astuce doit être clair et explicite.
  4. Pensez à mettre votre code entre les balises [R] et [/R]; Pour cela, vous pouvez utiliser le bouton

Vous pouvez utiliser vos comptes Facebook, twitter ou google pour vous identifer (google est compatible yahoo, openID...)
L'ideal étant de vous connecter si vous avez un compte utilisateur, ou faire une demande de compte utilisateur si vous n'en avez pas encore.
Créer un compte va vous permettre de pouvoir éditer vos codes et de mettre en avant votre site internet.
Sinon vous pouvez soumettre anonymement en remplissant les champs ci-après.







Choisissez les catégories correspondantes à votre Code:

  • algorithmique
  • Analyse de survie
  • base indispensable
  • bayésien
  • configuration de R
  • exportation de données
  • fonctions utiles
  • graphique
  • importation de données
  • inférence
  • manipulation de données
  • message d'erreur
  • modélisation
  • Non classé
  • optimisation
  • planification
  • programmer avec R
  • regression linéaire
  • Test
  • tidyverse
  • Transformation de données


Comment représenter des fonctions 3D avec persp ?

0
dans graphique
Il existe plusieurs façons de représenter des surfaces en 3D. Je vous en propose une qui utilise la fonction de base persp().

 
 
#on construit les fonctions à représenter f1 et f2
 
 f1<-function(x,y){
    15*sin(sqrt(x^2+y^2))
}
 
 
################
 
mu1<-0 
mu2<-0 
s11<-15 
s12<-20 
s22<-10 
rho<-0.5 
 
f2<-function(x,y){
 
term1<-1/(2*pi*sqrt(s11*s22*(1-rho^2)))
term2<--1/(2*(1-rho^2))
term3<-(x-mu1)^2/s11
term4<-(y-mu2)^2/s22
term5<--2*rho*((x-mu1)*(y-mu2))/(sqrt(s11)*sqrt(s22))
term1*exp(term2*(term3+term4-term5))}
 
# on définit deux vecteurs correspondant aux axes x et y
 
x<-seq(-15,15,length=50)
y<-x
 
# on calcule la valeur de z=f(x,y) pour tous les couples x[i],y[i] avec la fonction outer
 
z1<-outer(x,y,f1)
z2<-outer(x,y,f2)
 
#on utilise la fonction persp
 
x11()
persp(x,y,z1,theta=30,phi=40,expand=0.5,col="lightblue",ticktype="detailed")
x11()
persp(x,y,z2,theta=40,phi=30,expand=0.5,col="lightgreen",ticktype="detailed")
 
 
 


Il est possible d’ajouter des points au graphique en utilisant points(trans3d()).
Regardez bien tous les arguments de la fonction persp() : ?persp. Ils sont nombreux et vous permettront d’obtenir votre surface sous l’angle que vous voulez.

Enfin il existe comme souvent d’autres fonctions pour représenter des surfaces : plot3d du package rgl, plot.surface du package fields…à vous de choisir!

bonne 3D!

Proposé par Melen.

Ce script vous à rendu service? remerciez l'auteur en votant ici:
- ça ne sert à rien -- c\'est interessant - (score de +2 sur 2 votes)
Loading ... Loading ...

Poster un commentaire


Votre email ne seras jamais communiqué champs requis désigné par une *

*
*


3 × = six

Formation logiciel R