A variable in R can be thought of as a container or storage location for a piece of information. A variable has two features:
A piece of information which is stored within the variable. This could be a single number, a list of numbers, a string of characters, or some more complex type of information.
A name, which is used to refer to the variable. We use the name of a variable to access its contents.
Assignment Operator
We create variables in R by using the assignment operator, which is written as <-. The name of the variable being created must appear to the left of this arrow, and the value being stored must appear on the right.
In the code chunk below, we create two variables, a and b, which contain the values 3 and 5, respectively.
We can ask R to print the value of a variable by typing the name of the variable on a line by itself. In the chunk below, we check the value of a.
a
[1] 3
We can also check the value of b.
b
[1] 5
Arithmetic Operations
We can combine the value of variables using standard arithmetic operations. Here we add the values stored in a and b.
a + b
[1] 8
We can also perform multiplication.
a * b
[1] 15
We use the ^ symbol to perform exponentiation.
a ^ b
[1] 243
If we wish, we can store the result of a mathematical operation in a new variable. This can be useful if we wish to use the result in a later calculation. In the next code chunk, we will create a variable called temp which stores the value of b^2 - 4*a.
temp <- b^2 - 4*a
Notice that the value of b^2 - 4*a was not displayed above. That is because we stored the result in a variable instead of letting it show up as output. As before, we can check the value of temp to see the result of the calculation.
temp
[1] 13
Variable Names
Variables names in R can contain any number of characters, and can consist of letters (uppercase or lowercase), numbers, underscores, and dots. The first character must be either a letter or a dot, and if the first character is a dot, then the second character has to be a number. The table below shows examples of several value and invalid variable names
|
Valid
|
Invalid
|
my_var
|
_my_var
|
myVar
|
my-var
|
my.var
|
my!var
|
Var_1
|
1_Var
|
temp
|
temp#
|
.total
|
.1total
|
The ability to use longer strings of characters as variable names allows us the option to give our variables descriptive names.
mon_sales <- 357
tue_sales <- 463
wed_sales <- 612
thu_sales <- 428
fri_sales <- 679
total_sales <- mon_sales + tue_sales + wed_sales + thu_sales + fri_sales
total_sales
[1] 2539
LS0tDQp0aXRsZTogIkFwcGVuZGl4IEEuMSAtIFZhcmlhYmxlcyBpbiBSIg0KYXV0aG9yOiAiUm9iYmllIEJlYW5lIg0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOg0KICAgIHRoZW1lOiBmbGF0bHkNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZGVwdGg6IDQNCi0tLQ0KDQoNCkEgKip2YXJpYWJsZSoqIGluIFIgY2FuIGJlIHRob3VnaHQgb2YgYXMgYSBjb250YWluZXIgb3Igc3RvcmFnZSBsb2NhdGlvbiBmb3IgYSBwaWVjZSBvZiBpbmZvcm1hdGlvbi4gQSB2YXJpYWJsZSBoYXMgdHdvIGZlYXR1cmVzOg0KDQoNCiogQSBwaWVjZSBvZiBpbmZvcm1hdGlvbiB3aGljaCBpcyBzdG9yZWQgd2l0aGluIHRoZSB2YXJpYWJsZS4gVGhpcyBjb3VsZCBiZSBhIHNpbmdsZSBudW1iZXIsIGEgbGlzdCBvZiBudW1iZXJzLCBhIHN0cmluZyBvZiBjaGFyYWN0ZXJzLCBvciBzb21lIG1vcmUgY29tcGxleCB0eXBlIG9mIGluZm9ybWF0aW9uLg0KDQoqIEEgbmFtZSwgd2hpY2ggaXMgdXNlZCB0byByZWZlciB0byB0aGUgdmFyaWFibGUuIFdlIHVzZSB0aGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFjY2VzcyBpdHMgY29udGVudHMuDQoNCiMjIyAqKkFzc2lnbm1lbnQgT3BlcmF0b3IqKg0KDQpXZSBjcmVhdGUgdmFyaWFibGVzIGluIFIgYnkgdXNpbmcgdGhlICoqYXNzaWdubWVudCBvcGVyYXRvcioqLCB3aGljaCBpcyB3cml0dGVuIGFzIGA8LWAuIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSBiZWluZyBjcmVhdGVkIG11c3QgYXBwZWFyIHRvIHRoZSBsZWZ0IG9mIHRoaXMgYXJyb3csIGFuZCB0aGUgdmFsdWUgYmVpbmcgc3RvcmVkIG11c3QgYXBwZWFyIG9uIHRoZSByaWdodC4gDQoNCkluIHRoZSBjb2RlIGNodW5rIGJlbG93LCB3ZSBjcmVhdGUgdHdvIHZhcmlhYmxlcywgYGFgIGFuZCBgYmAsIHdoaWNoIGNvbnRhaW4gdGhlIHZhbHVlcyAzIGFuZCA1LCByZXNwZWN0aXZlbHkuIA0KDQoNCmBgYHtyfQ0KYSA8LSAzDQpiIDwtIDUNCmBgYA0KDQpXZSBjYW4gYXNrIFIgdG8gcHJpbnQgdGhlIHZhbHVlIG9mIGEgdmFyaWFibGUgYnkgdHlwaW5nIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSBvbiBhIGxpbmUgYnkgaXRzZWxmLiBJbiB0aGUgY2h1bmsgYmVsb3csIHdlIGNoZWNrIHRoZSB2YWx1ZSBvZiBgYWAuIA0KDQpgYGB7cn0NCmENCmBgYA0KDQpXZSBjYW4gYWxzbyBjaGVjayB0aGUgdmFsdWUgb2YgYGJgLiANCg0KYGBge3J9DQpiDQpgYGANCg0KIyMjICoqQXJpdGhtZXRpYyBPcGVyYXRpb25zKioNCg0KV2UgY2FuIGNvbWJpbmUgdGhlIHZhbHVlIG9mIHZhcmlhYmxlcyB1c2luZyBzdGFuZGFyZCBhcml0aG1ldGljIG9wZXJhdGlvbnMuIEhlcmUgd2UgYWRkIHRoZSB2YWx1ZXMgc3RvcmVkIGluIGBhYCBhbmQgYGJgLiANCg0KYGBge3J9DQphICsgYg0KYGBgDQoNCldlIGNhbiBhbHNvIHBlcmZvcm0gbXVsdGlwbGljYXRpb24uIA0KDQpgYGB7cn0NCmEgKiBiDQpgYGANCg0KV2UgdXNlIHRoZSBgXmAgc3ltYm9sIHRvIHBlcmZvcm0gZXhwb25lbnRpYXRpb24uIA0KDQpgYGB7cn0NCmEgXiBiDQpgYGANCg0KSWYgd2Ugd2lzaCwgd2UgY2FuIHN0b3JlIHRoZSByZXN1bHQgb2YgYSBtYXRoZW1hdGljYWwgb3BlcmF0aW9uIGluIGEgbmV3IHZhcmlhYmxlLiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgd2Ugd2lzaCB0byB1c2UgdGhlIHJlc3VsdCBpbiBhIGxhdGVyIGNhbGN1bGF0aW9uLiBJbiB0aGUgbmV4dCBjb2RlIGNodW5rLCB3ZSB3aWxsIGNyZWF0ZSBhIHZhcmlhYmxlIGNhbGxlZCBgdGVtcGAgd2hpY2ggc3RvcmVzIHRoZSB2YWx1ZSBvZiBgYl4yIC0gNCphYC4NCg0KYGBge3J9DQp0ZW1wIDwtIGJeMiAtIDQqYQ0KYGBgDQoNCk5vdGljZSB0aGF0IHRoZSB2YWx1ZSBvZiBgYl4yIC0gNCphYCB3YXMgbm90IGRpc3BsYXllZCBhYm92ZS4gVGhhdCBpcyBiZWNhdXNlIHdlIHN0b3JlZCB0aGUgcmVzdWx0IGluIGEgdmFyaWFibGUgaW5zdGVhZCBvZiBsZXR0aW5nIGl0IHNob3cgdXAgYXMgb3V0cHV0LiBBcyBiZWZvcmUsIHdlIGNhbiBjaGVjayB0aGUgdmFsdWUgb2YgYHRlbXBgIHRvIHNlZSB0aGUgcmVzdWx0IG9mIHRoZSBjYWxjdWxhdGlvbi4gDQoNCmBgYHtyfQ0KdGVtcA0KYGBgDQoNCiMjIyAqKlZhcmlhYmxlIE5hbWVzKioNCg0KVmFyaWFibGVzIG5hbWVzIGluIFIgY2FuIGNvbnRhaW4gYW55IG51bWJlciBvZiBjaGFyYWN0ZXJzLCBhbmQgY2FuIGNvbnNpc3Qgb2YgbGV0dGVycyAodXBwZXJjYXNlIG9yIGxvd2VyY2FzZSksIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBhbmQgZG90cy4gVGhlIGZpcnN0IGNoYXJhY3RlciBtdXN0IGJlIGVpdGhlciBhIGxldHRlciBvciBhIGRvdCwgYW5kIGlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgYSBkb3QsIHRoZW4gdGhlIHNlY29uZCBjaGFyYWN0ZXIgaGFzIHRvIGJlIGEgbnVtYmVyLiBUaGUgdGFibGUgYmVsb3cgc2hvd3MgZXhhbXBsZXMgb2Ygc2V2ZXJhbCB2YWx1ZSBhbmQgaW52YWxpZCB2YXJpYWJsZSBuYW1lcw0KDQo8Y2VudGVyPg0KPHRhYmxlIHdpZHRoPTIwMD4NCiAgPHRyPjx0ZD4qKlZhbGlkKio8L3RkPjx0ZD4qKkludmFsaWQqKjwvdGQ+PC90cj4NCiAgPHRyPjx0ZD5gbXlfdmFyYDwvdGQ+PHRkPmBfbXlfdmFyYDwvdGQ+PC90cj4NCiAgPHRyPjx0ZD5gbXlWYXJgPC90ZD48dGQ+YG15LXZhcmA8L3RkPjwvdHI+DQogIDx0cj48dGQ+YG15LnZhcmA8L3RkPjx0ZD5gbXkhdmFyYDwvdGQ+PC90cj4NCiAgPHRyPjx0ZD5gVmFyXzFgPC90ZD48dGQ+YDFfVmFyYDwvdGQ+PC90cj4NCiAgPHRyPjx0ZD5gdGVtcGA8L3RkPjx0ZD5gdGVtcCNgPC90ZD48L3RyPg0KICA8dHI+PHRkPmAudG90YWxgPC90ZD48dGQ+YC4xdG90YWxgPC90ZD48L3RyPg0KPC90YWJsZT4NCjwvY2VudGVyPg0KPGJyLz4NClRoZSBhYmlsaXR5IHRvIHVzZSBsb25nZXIgc3RyaW5ncyBvZiBjaGFyYWN0ZXJzIGFzIHZhcmlhYmxlIG5hbWVzIGFsbG93cyB1cyB0aGUgb3B0aW9uIHRvIGdpdmUgb3VyIHZhcmlhYmxlcyBkZXNjcmlwdGl2ZSBuYW1lcy4gDQoNCmBgYHtyfQ0KbW9uX3NhbGVzIDwtIDM1Nw0KdHVlX3NhbGVzIDwtIDQ2Mw0Kd2VkX3NhbGVzIDwtIDYxMg0KdGh1X3NhbGVzIDwtIDQyOA0KZnJpX3NhbGVzIDwtIDY3OQ0KDQp0b3RhbF9zYWxlcyA8LSBtb25fc2FsZXMgKyB0dWVfc2FsZXMgKyB3ZWRfc2FsZXMgKyB0aHVfc2FsZXMgKyBmcmlfc2FsZXMNCnRvdGFsX3NhbGVzDQpgYGANCg0KDQo=