J'ai une colonne qui a des valeurs de vrai et de faux avec deux niveaux vrais et faux. p>
Comment puis-je convertir cela en une colonne de 1 et 0 à 0 avec des niveaux 1 et 0 dans R? P>
3 Réponses :
booléens lors de la convertie en numérique sont 0 et 1.
df$boolean <- as.numeric(df$factor)
Votre méthode dépend du type de «code> df $ facteur code>. Il est préférable de spécifier comment facteur df $ code> est défini. Par exemple. df <- data.frame (facteur = ???) code>
Utiliser Utilisation AS.Factor (AS.Integer (DF $ COL)) CODE>. dplyr code> p> # A tibble: 7 x 1
col
<fct>
1 1
2 0
3 1
4 1
5 1
6 0
7 0
Hmm pour une raison quelconque ma colonne est un facteur W / 2 niveaux: "vrai", "faux": 1 1 1 1 2 2 1 2 2 1. Pourquoi y a-t-il 1s et 2 pour les trues et les failles? Comment puis-je changer cela aux 1s et 0?
Je ne sais vraiment pas, mais ce que vous pouvez faire est df%>% mutate (col = as.Factor (if_else (col == t, 1,0))) code> pour éviter cela.
Je suppose que vos données sont comme ci-dessous, qui contient une colonne code> facteur code> avec true code> et false code>. +as.logical(df$x)
# [1] 1 1 0 0
Pour l'obtenir comme un numéro, vous pouvez faire
as.numeric (var) code> et comme facteur que vous pouvez fairefacteur (as.numérique (variable) code>Pourquoi dois-je obtenir 1s et 2s au lieu de 1s et 0s?
Les facteurs sont codés en interne sous forme d'entiers consécutifs basés sur 1. Donc, des facteurs booléens
faux / true code> deviennent des entiers1/2 code>. Mais ils sont toujours affichés comme0/1 code>, ce sont leurs étiquettes i>. Pour convertir en Integer, utilisezAS.Integer (AS.Character (Boolean)) Code>.Si vous voulez juste 1s et 0s, vous pouvez réellement faire
+ var code>