<- 2+3*4 my_new_variable
Variables
1 Variables
The concept of variables is simple enough: If you want R to store any data in memory, you have to give R a variable name with which you can refer to the data.
This is a simple example in which the data 14
is stored somewhere in memory which can be referred to by the name my_new_variable
:
..the assignment operator <-
is discussed later. For now, when you read <-
just say: “..becomes the result of..”.
In the above, read it out aloud as “my new variable becomes the result of 2+3*4”
1.1 Variable names
R is very flexible with variable names, but there are a few rules to observe:
- Do not start variable names with a number
- Do not include spaces or special characters such as hyphens
-
or@
in the name. Underscores_
and points.
er okay, though. - Do not start variable names with an underscore
_
- Do not use names which have special meaning in R, such as .e.g
TRUE
orNULL
# Illegal variable names:
-variable-name <- 4
a<- 5
_a_variable_name NULL <- 6
<- 7
a variable name 4_variable_name <- 8
# Legal variable names:
<- 4
avariablename <- 5
a_variable_name <- 6
aVariableName <- 7
AVARIABLENAME <- 8
a_variable_name_2 <- 9 .a_variable_name
- Use underscores to_seperate_words
- Do not use CamelCaseToSeperateWords
- Make variable names meaningful
x
is not exactly very helpfuldf_odi
for a data frame of Oswestry Disability Inventory data is much better
1.2 Variable declaration
By creating a variable, the name is listed in R environment and a chunk of computer memory is set aside to store data for the variable.
In R, you do not need to explicitly declare a new variable. It will be created by R the fist time it is encountered. However, it should be assigned a value when it is created – NA
if nothing else.
Look at this simple example and contemplate what happens:
<- 2+3*4
var_1 <- var_1 + var_2 var_3
In the first line, the R interpreter encounters a new variable var_1
and assigns that variable to the value 14
which is stored as a numeric value in memory.
In the second line, the R interpreter encounters a new variable var_3
and fails to assign a value to it, because the variable var_2
is unknown and has no value assigned. Code execution will stop (crash) with an error message…
In the example above, the variable var_1
is stored as a numeric data type – not as an integer.
Because the code does not explicitly say whether var_1
should be an integer or a numeric, R will make a decision for you – and it chooses numeric.
If you specifically wanted var_1
to be an integer, the following code would do the trick:
<- as.integer(2+3*4) var_1
2 Variabler
Konceptet med variabler er simpelt nok: Hvis du vil have R til at gemme data i hukommelsen, skal du give R et variabelnavn, som du kan referere til dataene med.
Dette er et simpelt eksempel, hvor data ‘14’ er gemt et sted i hukommelsen, som kan henvises til med navnet ‘min_nye_variabel’:
<- 2+3*4 min_nye_variabel
.._tildelings-operatøren_ <-
diskuteres senere, men indtil videre: Når du læser <-
, skal du bare sige: “..bliver resultatet af…”.
Ovenstående kan læses højt som “min nye variabel bliver resultatet af 2+3*4”
2.2 Variabel erklæring
Når R møder en ny variabel, registreres navnet i R-miljøet, og en del af computerhukommelsen er afsat til at gemme data for variablen.
I R behøver du ikke eksplicit at deklarere en ny variabel. Den bliver oprettet af R første gang den stødes på. Den bør dog tildeles en værdi, når den oprettes – NA
om ikke andet.
Se på dette enkle eksempel og overvej, hvad der sker:
<- 2+3*4
var_1 <- var_1 + var_2 var_3
I den første linje støder R-fortolkeren på en ny variabel var_1
og tildeler denne variabel til værdien 14
, som er gemt som en numerisk værdi i hukommelsen.
I den anden linje støder R-fortolkeren på en ny variabel var_3
og fejler når den forsøger at tildele en værdi til den, fordi variablen var_2
er ukendt og ikke har nogen værdi. Kodekørslen stopper (crash’er) med en fejlmeddelelse…
I eksemplet ovenfor er variablen var_1
gemt som en numerisk datatype – ikke som et heltal.
Fordi koden ikke eksplicit definerer, om var_1
skal være et heltal eller et numerisk, vil R træffe en beslutning for dig – og den vælger numeric.
Hvis du specifikt ønskede, at ‘var_1’ skulle være et heltal, ville følgende kode gøre tricket:
<- as.integer(2+3*4) var_1