1029 résultats trouvés

Aller à la recherche avancée

par Pierre-Yves Berrard
03 Fév 2018, 17:28
Forum : Questions en cours
Sujet : Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité
Réponses : 11
Vues : 1873

Re: Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité

Bonjour, Les fonctions *apply sont souvent plus élégantes mais pas systématiquement plus rapides. Dans ma solution, j'ai recours à as.data.frame() et t() qui prennent du temps. Il y a sûrement moyen d'optimiser cette partie. Est-ce plus rapide avec purrr::map2(X, as.data.frame(t(F)), ord) Ensuite, v...
par Pierre-Yves Berrard
03 Fév 2018, 14:28
Forum : Questions en cours
Sujet : Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité
Réponses : 11
Vues : 1873

Re: Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité

Pardon j'ai mal lu.
Donc on peut utiliser mapply (une variante de apply) qui permet de parcourir en parallèle plusieurs arguments. Ici, X et les colonnes de F transposé en data.frame.

Code : Tout sélectionner

mapply(
  ord,
  X,
  as.data.frame(t(F))
)
par Pierre-Yves Berrard
03 Fév 2018, 13:17
Forum : Questions en cours
Sujet : Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité
Réponses : 11
Vues : 1873

Re: Obtenir un vecteur de valeurs inverses de distributions cumulées de probabilité

À regarder simplement le résultat (et pas l'intérieur de la boucle), j'ai l'impression que la fonction replicate pourrait vous être utile :

Code : Tout sélectionner

mat <- replicate(20, c(0, sort(runif(9)), 1))
t(mat)
par Pierre-Yves Berrard
24 Jan 2018, 09:08
Forum : Questions en cours
Sujet : changer d'échelle d'un data.frame
Réponses : 4
Vues : 816

Re: changer d'échelle d'un data.frame

( Par contre la méthode de Logez ne répond pas à ma question --> ce code a agrégé tous mes numéros d'observations, du coup je n'ai qu'une ligne par n° d'observation, il n'y a pas de distinction date & n°observation. ) Il faut ajouter Date à group_by dans la méthode de Maxime et ça devrait march...
par Pierre-Yves Berrard
23 Jan 2018, 18:10
Forum : Questions en cours
Sujet : changer d'échelle d'un data.frame
Réponses : 4
Vues : 816

Re: changer d'échelle d'un data.frame

Bonjour, Avec depart en données initiales : library(dplyr) group_depart <- depart %>% group_by(Date, N.obs) superf <- group_depart %>% summarise_at(vars( Superf), sum) autres <- group_depart %>% summarise_at(vars(-Superf), first) res <- full_join(superf, autres, by = c("Date", "N.obs&...
par Pierre-Yves Berrard
22 Jan 2018, 19:54
Forum : Questions en cours
Sujet : Transformation jeu de données
Réponses : 4
Vues : 1617

Re: Transformation jeu de données

J'ai fais exactement la même chose avec mon jeu de données et je me confronte au message suivant : " Error in mutate_impl(.data, dots) : Evaluation error: argument 'times' incorrect. " (ton exemple fonctionne parfaitement ; je ne sais pas si c'est important mais j'ai oublié de mentionner ...
par Pierre-Yves Berrard
22 Jan 2018, 15:47
Forum : Questions en cours
Sujet : Transformation jeu de données
Réponses : 4
Vues : 1617

Re: Transformation jeu de données

Bonjour, Une solution avec les colonnes suivantes dans les données de départ : ⋅ MA = nombre de mâles adultes ⋅ FA = nombre de femelles adultes ⋅ ME = nombre de mâles non adultes ⋅ FE = nombre de femelles non adultes depart <- data.frame( Seance = as.character...
par Pierre-Yves Berrard
20 Jan 2018, 16:40
Forum : Questions en cours
Sujet : Concaténer un vecteur dans une seule chaine de caractères
Réponses : 2
Vues : 3236

Re: Concaténer un vecteur dans une seule chaine de caractères

Bonjour,

C'était presque ça :

Code : Tout sélectionner

paste(1:10, collapse = " ")
par Pierre-Yves Berrard
12 Jan 2018, 19:39
Forum : Questions en cours
Sujet : Retirer ligne et colonne sous condition
Réponses : 5
Vues : 6851

Re: Retirer ligne et colonne sous condition

C'est le but. ;-)

edit : solution (si aucun nombre négatif dans le tableau)

Code : Tout sélectionner

tab[rowSums(tab) != 0, ]
tab[ , colSums(tab) != 0]
par Pierre-Yves Berrard
12 Jan 2018, 16:39
Forum : Questions en cours
Sujet : Retirer ligne et colonne sous condition
Réponses : 5
Vues : 6851

Re: Retirer ligne et colonne sous condition

Bien souvent, les boucles dans R ne sont pas obligatoires.

En complément de mon message précédent, je vous donne un autre indice par cet exemple fictif :

Code : Tout sélectionner

tab <- data.frame(V1 = c(0,0,1), V2 = c(0,1,0), V3 = c(0,0,0))
tab[ , c(TRUE, TRUE, FALSE)]
par Pierre-Yves Berrard
11 Jan 2018, 21:13
Forum : Questions en cours
Sujet : Retirer ligne et colonne sous condition
Réponses : 5
Vues : 6851

Re: Retirer ligne et colonne sous condition

Bonjour, Ce ne serait pas vous rendre service de faire votre devoir à votre place alors je me contente de vous donner une solution partielle. Essayez d'exécuter le code suivant et de voir à quoi il peut vous servir : colSums(tab) != 0 rowSums(tab) != 0 PS : rowSums(tab) et colSums(tab) sont des vers...
par Pierre-Yves Berrard
11 Jan 2018, 15:09
Forum : Questions en cours
Sujet : sous dataframe en fontion d'un vecteur
Réponses : 2
Vues : 841

Re: sous dataframe en fontion d'un vecteur

Encore plus simple que dans le plus simple des mondes :

Code : Tout sélectionner

nouveau <- comptage[vec, ]
par Pierre-Yves Berrard
11 Jan 2018, 08:31
Forum : Questions en cours
Sujet : Manipulation de données et de tableaux
Réponses : 14
Vues : 3102

Re: Manipulation de données et de tableaux

Il y a avait une erreur dans mon précédent message ; j'ai édité.
par Pierre-Yves Berrard
10 Jan 2018, 17:12
Forum : Questions en cours
Sujet : Manipulation de données et de tableaux
Réponses : 14
Vues : 3102

Re: Manipulation de données et de tableaux

Une fois qu'on a le rang dans tab1, on peut créer une autre fonction qui récupère les rangs supérieurs à une "espèce" (au sens de tab1) donnée : categ_sup <- function(chaine, rang) { if (is.na(rang)) return(rep(NA, 6)) # première ligne contenant chaine dans tab2 n <- which(tab2[[rang]] == ...
par Pierre-Yves Berrard
10 Jan 2018, 15:50
Forum : Questions en cours
Sujet : Manipulation de données et de tableaux
Réponses : 14
Vues : 3102

Re: Manipulation de données et de tableaux

n'est-il pas possible d'avoir dans la "tab1", une colonne indiquant ce qui se trouve dans "espèces"? On a pensé à la même chose, Mickael : rang <- function(chaine) { for (nm in names(tab2)) if (chaine %in% tab2[[nm]]) return(nm) NA } tab1$Rang <- sapply(tab1$Especes, rang) PS: n...

Aller à la recherche avancée