Transformation arcsinus dans R (avec exemples)



Une transformation arc sinus peut être utilisée pour « étendre » des points de données compris entre les valeurs 0 et 1.

Ce type de transformation est généralement utilisé lorsqu’il s’agit de proportions et de pourcentages.

Nous pouvons utiliser la syntaxe suivante pour effectuer une transformation arc sinus dans R :

asin(sqrt(x))

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Transformation arcsinus de valeurs comprises entre 0 et 1

Le code suivant montre comment effectuer une transformation arc sinus sur des valeurs d’un vecteur comprises entre 0 et 1 :

#define vector 
x <- c(0.1, 0.33, 0.43, 0.5, 0.7)

#perform arcsine transformation on values in vector
asin(sqrt(x))

[1] 0.3217506 0.6119397 0.7151675 0.7853982 0.9911566

Exemple 2 : Transformation arcsinus de valeurs en dehors de la plage 0 à 1

Notez que la transformation arc sinus ne fonctionne que sur les valeurs comprises entre 0 et 1. Ainsi, si nous avons un vecteur avec des valeurs en dehors de cette plage, nous devons d’abord convertir chaque valeur pour qu’elle soit comprise entre 0 et 1.

#define vector with values outside of range 0 to 1
x <- c(2, 14, 16, 30, 48, 78)

#create new vector where each value is divided by max value
y <- x / max(x)

#view new vector
y

[1] 0.02564103 0.17948718 0.20512821 0.38461538 0.61538462 1.00000000

#perform arcsine transformation on new vector
asin(sqrt(y))

[1] 0.1608205 0.4374812 0.4700275 0.6689641 0.9018323 1.5707963

Exemple 3 : Transformation arcsinus des valeurs dans le bloc de données

Le code suivant montre comment effectuer une transformation arcsinus des valeurs dans une colonne spécifique d’un bloc de données :

#define data frame
df <- data.frame(var1=c(.2, .3, .4, .4, .7),
                 var2=c(.1, .2, .2, .2, .3),
                 var3=c(.04, .09, .1, .12, .2))

#perform arcsine transformation on values in 'var1' column
asin(sqrt(df$var1))

[1] 0.4636476 0.5796397 0.6847192 0.6847192 0.9911566

Et le code suivant montre comment effectuer une transformation arcsinus de valeurs dans plusieurs colonnes d’un bloc de données :

#define data frame
df <- data.frame(var1=c(.2, .3, .4, .4, .7),
                 var2=c(.1, .2, .2, .2, .3),
                 var3=c(.04, .09, .1, .12, .2))

#perform arcsine transformation on values in 'var1' and 'var3' columns
sapply(df[ c('var1', 'var3')], function(x) asin(sqrt(x)))

          var1      var3
[1,] 0.4636476 0.2013579
[2,] 0.5796397 0.3046927
[3,] 0.6847192 0.3217506
[4,] 0.6847192 0.3537416
[5,] 0.9911566 0.4636476

Ressources additionnelles

Comment transformer des données dans R (Log, racine carrée, racine cubique)
Comment effectuer une transformation Box-Cox dans R
Comment utiliser la fonction de journalisation dans R
Comment utiliser la fonction racine carrée dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *