importer une variable continue

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

imen benyahya
Messages : 14
Enregistré le : 03 Oct 2022, 12:08

importer une variable continue

Messagepar imen benyahya » 02 Nov 2022, 17:46

Bonjour,

je cherche à importer une base de données sous forme excel la première ligne correspond aux différentes modalités de la variable X et la deuxième désigne les effectifs correspondant pour chaque modalité [img]x n
[1920, 1980[ 3
[1980, 2000[ 2
[2000, 2080[ 1
[2080, 3230[ 4
[/img]
s'il vous plait, quel code je dois utiliser avec R pour dire que la première colonne présente des variables continues sous forme des intervalles et que la deuxième colonne sont les effectifs correspondants pour chaque ligne car je dois passer à une analyse statistique par la suite portant sur la moyenne la variance, ....
Merci par avance

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: importer une variable continue

Messagepar Pierre-Yves Berrard » 02 Nov 2022, 23:27

Bonjour,
Il va falloir utiliser un package.
Voir par exemple cette documentation : https://www.book.utilitr.org/importxl.html
PY

imen benyahya
Messages : 14
Enregistré le : 03 Oct 2022, 12:08

Re: importer une variable continue

Messagepar imen benyahya » 03 Nov 2022, 11:54

Merci Pierre-Yves Berrard pour votre réponse. en fait mon problème n'était pas au niveau de l'import de la base de données mais quel code je dois utiliser sur R pour dire que la première colonne représente les différentes modalités (continues) de la variable aléatoire et que la deuxième colonne représente l'effectif de chaque modalité afin de passer par la suite au calcul des caractéristiques statistiques (moyenne, variance, médiane,...)°

Facundo Muñoz
Messages : 156
Enregistré le : 04 Juil 2019, 09:58
Contact :

Re: importer une variable continue

Messagepar Facundo Muñoz » 03 Nov 2022, 16:24

Bonjour ,

il n'y a rien de spécial à faire. On l'importe comme un tableau quelconque. L'interprétation des variables est à charge de l'utilisateur.

Cependant, si j'ai bien compris, vous n'avez pas des observations directes de la variable X, mais un comptage résumé par intervalles. Ce qui risque d'affecter la manière dont vous calculez vos statistiques (moyenne, variance, etc.). Il faudrait d'abord définir comment vous voulez les calculer, et puis réfléchir à comment les coder en R.

Par exemple, une manière serait assumer que toutes les observations de X se trouvent dans au centre de l'intervalle correspondant. Dans ce cas, vous devriez d'abord calculer une nouvelle variable numérique avec cette valeur centralle pour chaque intervalle, et puis faire le calcul des moyennes, variances, etc. pondéré par le nombre d'observations.

Par exemple :

Code : Tout sélectionner

## Données d'exemple
(dat <- data.frame(
  x = c("[1920, 1980[", "[1980, 2000[", "[2000, 2080[", "[2080, 3230["),
  n = c(3, 2, 1, 4)
)
)
#>              x n
#> 1 [1920, 1980[ 3
#> 2 [1980, 2000[ 2
#> 3 [2000, 2080[ 1
#> 4 [2080, 3230[ 4

## Calcul des centres
dat$xc <-
  ## Interpréter les valeurs numériquement et calculer la moyenne
  vapply(
    ## Séparer les bornes de l'intervalle
    strsplit(
      ## Supprimmer les crochets
      gsub("\\[", "", dat$x),
      ", "
    ),
    \(.) mean(as.numeric(.)
    ),
    1
  )

## Moyenne
sum(dat$xc * dat$n) / sum(dat$n)
#> [1] 2249


Cette procédure n'est pas cependant recommandée pour calculer la variance. En mettant tous les répétitions sur la même valeur on risque de la sous-estimer. Il faut proposer un modèle pour la distribution de X.

Cordialement,
ƒacu.-

imen benyahya
Messages : 14
Enregistré le : 03 Oct 2022, 12:08

Re: importer une variable continue

Messagepar imen benyahya » 03 Nov 2022, 19:00

merci bien Facundo Muñoz pour votre réponse. c'est exactement mon problème. vraiment merci pour votre aide précieuse

imen benyahya
Messages : 14
Enregistré le : 03 Oct 2022, 12:08

Re: importer une variable continue

Messagepar imen benyahya » 05 Nov 2022, 11:45

Bonjour Facundo,
En fait j'ai essayé votre code

Code : Tout sélectionner

TEST <- read_excel("C:/Users/ImenBA/OneDrive/Bureau/TEST.xlsx")
> View(TEST)
> dat <- data.frame(TEST)
> dat$xc <-  vapply(    strsplit(           gsub("\\[", "", dat$x),      ", "    ),  \(.) mean(as.numeric(.)    ),    1  )

j'ai obtenu le message d'erreur suivant

Code : Tout sélectionner

1: In mean(as.numeric(.)) : NAs introduced by coercion

je comprends bien que l'erreur provient normalement du code

Code : Tout sélectionner

> dat <- data.frame(TEST)
mais Vu que la matrice est importante je ne parviens pas à écrire les vecteurs sur R un par un. comment je peux faire dans ce cas s'il vous plaît et merci par avance.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité