Funktionerna rename()
och rename_with()
används för att ändra namnet på variabler. Med rename()
ändras namn på enskilda variabler och rename_with()
ändras namnen med hjälp av funktioner. Dessa funktioner påverkar endast namnet på kolumner (variabler). Ordningen på kolumnerna påverkas inte.
I detta kapitel arbetar vi med data som vi generar direkt i R, med följande kommando:
my_data <- tibble(Var1 = c(NA, 5, 9, 5, 3, 4),
Var2 = c(1, NA, 3, 6, 1, 12),
Var3 = c("Ja", "Nej", NA, "Ja", "Ja", "Ja"),
Var4 = rnorm(6), # genererar 6 slumpvärden med normalfördelning
Var5 = letters[1:6]) # första 6 bokstäverna i alfabetet
my_data
Var1 Var2 Var3 Var4 Var5
NA 1 Ja -1.13 a
5 NA Nej -0.144 b
9 3 NA -0.114 c
5 6 Ja -0.343 d
3 1 Ja -1.08 e
4 12 Ja 0.914 f
Vi döper om Var1
och Var2
till Variabel
1 respektive Variabel2
. Notera att det nya variabelnamnet specificeras först, följt av likhetstecken och det gamla variabelnamnet.
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
Variabel1 Variabel2 Var3 Var4 Var5
NA 1 Ja -1.13 a
5 NA Nej -0.144 b
9 3 NA -0.114 c
5 6 Ja -0.343 d
3 1 Ja -1.08 e
4 12 Ja 0.914 f
Med rename_with()
kan vi tillämpa en funktion på variabelnamnen. I nästa exempel ger vi alla variabelnamn versaler med funktionen toupper()
:
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
VAR1 VAR2 VAR3 VAR4 VAR5
NA 1 Ja -1.13 a
5 NA Nej -0.144 b
9 3 NA -0.114 c
5 6 Ja -0.343 d
3 1 Ja -1.08 e
4 12 Ja 0.914 f
Med tolower()
gör du om namnen till gemener istället.
Du kan rikta rename_with()
mot specifika kolumner med hjälp av tidy-select. I nästa exempel konverterar vi alla variabelnamn till versaler om variabelnamnet innehåller siffran 4:
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
Var1 Var2 Var3 VAR4 Var5
NA 1 Ja -1.13 a
5 NA Nej -0.144 b
9 3 NA -0.114 c
5 6 Ja -0.343 d
3 1 Ja -1.08 e
4 12 Ja 0.914 f
De andra tidy-select funktionerna diskuterades i kapitlet dplyr select().
Ändra variabelnamn med baser R
Det finns många användbara funktioner i baser R för att ändra variabelnamn. Varje dataframe har ett attribut kallat colnames, som innehåller variabelnamnen. Du kan skriva ut colnames med följande kommando:
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
"Var1" "Var2" "Var3" "Var4" "Var5"
Det innebär att variabelnamnen skrivs ut som en textvektor, vilken vi kan manipulera efter tycke och smak. Vi kan exempelvis lägga till prefixet "ny_" på varje variabelnamn, med följande kommando:
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
ny_Var1 ny_Var2 ny_Var3 ny_Var4 ny_Var5
NA 1 Ja -0.573 a
5 NA Nej -0.471 b
9 3 NA -0.139 c
5 6 Ja 0.0464 d
3 1 Ja 1.07 e
4 12 Ja -1.85 f
Vi kan ersätta en textsträng i alla variabelnamn. Här ersätter vi "Var" med "Variabel_":
BLOCKERAD KOD, BILD ELLER TEXT
Du måste logga in för att komma åt allt material.
Variabel_1 Variabel_2 Variabel_3 Variabel_4 Variabel_5
NA 1 Ja 0.598 a
5 NA Nej -0.348 b
9 3 NA 1.09 c
5 6 Ja -0.237 d
3 1 Ja 1.08 e
4 12 Ja -1.74 f