392 résultats trouvés

Aller à la recherche avancée

par François Bonnot
11 Déc 2017, 11:04
Forum : Questions en cours
Sujet : Création de matrices aléatoires
Réponses : 2
Vues : 81

Re: Création de matrices aléatoires

Bonjour, La fonction suivante donne une permutation de la matrice d'origine qui satisfait les conditions des marges : random.mat <- function(m) { nr <- nrow(m) nc <- ncol(m) sr <- rowSums(m) sc <- colSums(m) m[,] <- 0 for (i in 1:nr) { m[i,sc==nr-i+1] <- 1 prob=1-(sc==nr-i+1 | sc==0) if (sum(prob)>0...
par François Bonnot
01 Déc 2017, 07:36
Forum : Questions en cours
Sujet : Permutations dans un table de contingence
Réponses : 6
Vues : 242

Re: Permutations dans un table de contingence

Bonjour, Voici un code qui donne directement la liste des permutations sans étape d'élimination de solutions. Il est plus rapide que le précédent, beaucoup plus dans certains cas (par exemple dans de cas de la matrice m ci-dessus la réponse est immédiate au lieu de prendre quelques secondes), cepend...
par François Bonnot
29 Nov 2017, 13:24
Forum : Questions en cours
Sujet : Nombre d'occurences de chaque couple de valeurs
Réponses : 3
Vues : 80

Re: Nombre d'occurences de chaque couple de valeurs

Y'a-t-il une fonction R qui me permet de calculer l'effectif pour chaque couple de notes ?

Bonjour,
Oui : voir par exemple la documentation de la fonction aggregate (il y a d'autres fonctions dans d'autres packages mais aggregate est dans la version de base)
par François Bonnot
28 Nov 2017, 07:40
Forum : Questions en cours
Sujet : Permutations dans un table de contingence
Réponses : 6
Vues : 242

Re: Permutations dans un table de contingence

Bonjour Hubert, Merci pour le retour. Cependant cet algorithme n'est pas optimal parce qu'il examine de trop nombreuses solutions (pas toutes heureusement) qu'il élimine ensuite (dans la ligne z <- z[apply(z,1,function(u) all(u<=sc)),]). Par exemple cette matrice est clairement l'unique permutation ...
par François Bonnot
16 Nov 2017, 07:35
Forum : Questions en cours
Sujet : Equivallent de macros SAS pour automatiser la création de sous-tables
Réponses : 10
Vues : 300

Re: Equivallent de macros SAS pour automatiser la création de sous-tables

ce dont j’ai besoin, c’est de générer un data.frame en sortie pour chaque établissement Bonjour, Je pense que c'est davantage une habitude héritée de SAS qu'un réel besoin (mais je ne connais pas la situation particulière qui le justifie peut-être). Pour ma part je trouve beaucoup plus pratique de ...
par François Bonnot
07 Nov 2017, 12:28
Forum : Questions en cours
Sujet : NA et requête SQL et
Réponses : 7
Vues : 144

Re: NA et requête SQL et

Bonjour,
Je ne comprends pas, parce que le code proposé n'utilise pas is.na() comme annoncé.
par François Bonnot
02 Nov 2017, 16:23
Forum : Questions en cours
Sujet : Permutations dans un table de contingence
Réponses : 6
Vues : 242

Re: Permutations dans un table de contingence

Bonjour, Le code suivant donne la solution : comb <- function(n,k) if (k==1) n else do.call(rbind,lapply(0:n,function(i) cbind(i,comb(n-i,k-1)))) rbind2 <- function(m,p) apply(p,1,function(z) rbind(data.frame(m),z)) permut1 <- function(m,sr,nr,sc,nc) { if (!is.null(m)) { sc <- sc-colSums(m) nr <- nr...
par François Bonnot
30 Oct 2017, 13:45
Forum : Questions en cours
Sujet : Écriture fonction sigmoide pour standardisation rasters
Réponses : 6
Vues : 145

Re: Écriture fonction sigmoide pour standardisation rasters

Cette fois-ci la question n'est pas très claire. D'une façon générale, il suffit après avoir établi l'équation (ce qui sort du cadre de R) de la programmer en prenant exemple sur la sigmoïde ci-dessus. C'est particulièrement simple pour une fonction quadratique, par exemple: quad <- function(x,a,b,c...
par François Bonnot
30 Oct 2017, 07:36
Forum : Questions en cours
Sujet : Écriture fonction sigmoide pour standardisation rasters
Réponses : 6
Vues : 145

Re: Écriture fonction quadratique pour standardisation rasters

Bonjour, Votre question était très claire, peut-être ma réponse ne l'était-elle pas et je la précise. je souhaiterais créer un nouveau raster avec ces nouvelles valeurs Si votre raster est f1, alors vous obtenez votre nouveau raster au moyen de la fonction sigm() ci-dessus avec : f2 <- sigm(f1,2,200...
par François Bonnot
26 Oct 2017, 12:19
Forum : Questions en cours
Sujet : Écriture fonction sigmoide pour standardisation rasters
Réponses : 6
Vues : 145

Re: Écriture fonction quadratique pour standardisation rasters

Bonjour, 1) Mieux vaut écrire une fonction f(x,a,b) puis l'appliquer aux données. (Remarque : les 2 premières lignes de sigm1 ne semblent pas indispensables si les paramètres a et b sont corrects) sigm1 <- function(x,a,b) { if (x<a) return(0) if (x>b) return(1) 1/(1+exp(-5/a*(x-(b+a)/2))) } sigm <- ...
par François Bonnot
25 Oct 2017, 06:46
Forum : Questions en cours
Sujet : Changer les labels d'un graphe 3D (rgl)
Réponses : 8
Vues : 309

Re: Changer les labels d'un graphe 3D (rgl)

Bonjour,
Une solution : ajouter en fin de code la fonction points3d() avec les mêmes paramètres que plot3d().
par François Bonnot
24 Oct 2017, 07:38
Forum : Questions en cours
Sujet : Changer les labels d'un graphe 3D (rgl)
Réponses : 8
Vues : 309

Re: Changer les labels d'un graphe 3D (rgl)

Bonjour,
Voir aussi la fonction mtext3d() et son argument at.
par François Bonnot
17 Oct 2017, 06:22
Forum : Questions en cours
Sujet : Modifier la valeur d'un membre d'une liste externe
Réponses : 10
Vues : 352

Re: Modifier la valeur d'un membre d'une liste externe

Bonjour, La différence vient effectivement de la version de R. Voici ce que j'obtiens avec system.time() (sur 2 ordinateurs différents mais de puissances équivalentes) 50 itéraiions, version 3.0.2 user system elapsed f1(li)) 4.31 3.79 9.62 li <- f2(li)) 4.17 3.56 7.74 f3(li)) 0.06 0.06 0.12 50000 it...
par François Bonnot
16 Oct 2017, 08:03
Forum : Questions en cours
Sujet : Modifier la valeur d'un membre d'une liste externe
Réponses : 10
Vues : 352

Re: Modifier la valeur d'un membre d'une liste externe

D'après ces résultats c'est li <- f2(li) qui gagne ...

C'est vraiment bizarre... chez moi sans utiliser ni system.time ni microbenchmark f3 est manifestement plus rapide.
Je me demande si ça ne vient pas de la version de R (celle que j'utilise actuellement est la 3.0.2).
par François Bonnot
16 Oct 2017, 07:16
Forum : Questions en cours
Sujet : Modifier la valeur d'un membre d'une liste externe
Réponses : 10
Vues : 352

Re: Modifier la valeur d'un membre d'une liste externe

Bonjour, Merci à tous les deux pour vos réponses. J'ai testé la vitesse d'exécution des 3 solutions (fonctions légèrement modifiées sans en changer le principe), en chargeant la liste li avec le volumineux vecteur v pour forcer une copie en mémoire: f1 <- function(List){ ListName <- deparse(substitu...

Aller à la recherche avancée