Objective

Learn how to assign value into an object in R in many ways.

Assignment Operator

Assignment operator in R is a little bit different from other general programming languages. Most of it uses equal operator (=) as the only one assignment operator. In R, the main and most used by R users is left-arrow operator (<-). The obj <- expr means “assign the value of the result from the operation on the right hand side (expr) to the object on the left hand side (obj)”. On the following example, I want to assign the numeric value 3 to object called x.

x <- 3

Can’t I use the equal operator as assignment operator? Of course you can also use it.

x = 3

This can be helpful if you are a programmer that using other programming languages uses equal operator as assignment operator. So you don’t confused with “When I have to use <- or =?”. But I encourage you to get used to using <- when create program using R.

If you want to know the value of an object just simply call the object or use print() function.

x
[1] 3
# or
print(x)
[1] 3

More Assignment Operator

There are more assignment you can use in R. Below are list of assignment operator.

Operator Coverage Description
<- local/global the value from the right hand side is inserted into the object on the left hand side
-> local/global the value from the left hand side is inserted into the object on the right hand side
<<- global the value from the right hand side is inserted into the global object on the left hand side
->> global the value from the left hand side is inserted into the global object on the right hand side

Now, let’s take a look to -> operator.

5 -> x

As you can see, the -> operator has the opposite side to <-. The value or expression that return value is on left hand side, while the object is on the right hand side.

We will discuss the two more assignment operator when we discuss about function in R. Because they are normally only used in a function.

The assign() Function

The another way to assign value to an object in R is using the assign() function. This function used when the object is a string.

Let’s say you have object x which have a string value, x <- "a". You want to create object based on x’s value without mention it explicitly.

x <- "a"

So, i want to assign value 7 to a object which is the value of x.

assign(x, 7)

This is equal to assign("a", 7) because x’s value is string "a".

Now, call the x object.

x
[1] "a"

As you can see, the x’s value is still "a". Because we know that the value of x is "a" and we had assign value to it, now we can treat a as an object.

a
[1] 7

We already have a object even though we never create it before using <-, like a <- 7. How if we don’t know the value of x because it is dynamically changed in a program. Let’s say now the value of x is string "b".

x <- "b"

Now, just pretend that we don’t know the current value of x and we assign value to it’s value using assign() function.

assign(x, 8)

So, how we supposed to know to get the assigned value to what object? We can use get() function for this circumstance. Let’s use the example using a object.

get("a")
[1] 7

Great! So basically if you knew an object’s name and you want to get it’s value, but treat the name as string, you can use get() function. Now, let’s check the value of x’s value.

# value of x
x
[1] "b"
# value of x's value
get(x)
[1] 8

Last but not least, if you want to know what objects are in your current session of R use ls() function. This function will give you all not hidden objects in current session of R.

ls()
[1] "a" "b" "x"

On the next article we will discuss about object naming in R. See you!

LS0tDQp0aXRsZTogIkJhc2ljIFIgMDEgLSBBc3NpZ25tZW50Ig0KYXV0aG9yOiAiQnkgQWVwIEhpZGF5YXR1bG9oIg0KZGF0ZTogIkxhc3QgVXBkYXRlOiBgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVkICVCICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9ub3RlYm9vazoNCiAgICBudW1iZXJfc2VjdGlvbnM6IG5vDQogICAgdGhlbWU6IHNwYWNlbGFiDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAyDQogICAgdG9jX2Zsb2F0OiB0cnVlDQotLS0NCg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCg0KYm9keXsgLyogTm9ybWFsICAqLw0KICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICB9DQp0ZCB7ICAvKiBUYWJsZSAgKi8NCiAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KaDEudGl0bGUgew0KICBmb250LXNpemU6IDM4cHg7DQogIGNvbG9yOiBsaWdodGJsdWU7DQp9DQpoMSB7IC8qIEhlYWRlciAxICovDQogIGZvbnQtc2l6ZTogMjRweDsNCiAgY29sb3I6IERhcmtCbHVlOw0KICBmb250LXdlaWdodDogYm9sZDsNCn0NCmgyIHsgLyogSGVhZGVyIDIgKi8NCiAgZm9udC1zaXplOiAyMHB4Ow0KICBjb2xvcjogRGFya0JsdWU7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KaDMgeyAvKiBIZWFkZXIgMyAqLw0KICBmb250LXNpemU6IDE2cHg7DQojICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgY29sb3I6IERhcmtCbHVlOw0KICBmb250LXdlaWdodDogYm9sZDsNCn0NCmg0IHsgLyogSGVhZGVyIDQgKi8NCiAgZm9udC1zaXplOiAxNHB4Ow0KICBjb2xvcjogRGFya0JsdWU7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KY29kZS5yeyAvKiBDb2RlIGJsb2NrICovDQogICAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KcHJlIHsgLyogQ29kZSBibG9jayAtIGRldGVybWluZXMgY29kZSBzcGFjaW5nIGJldHdlZW4gbGluZXMgKi8NCiAgICBmb250LXNpemU6IDEycHg7DQp9DQo8L3N0eWxlPg0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0KI2tuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgcmVzdWx0cyA9ICdob2xkJywgd2FybmluZyA9IEZBTFNFLCBmaWcuc2hvdyA9ICdob2xkJywgbWVzc2FnZSA9IEZBTFNFKSANCm9wdGlvbnMoc2NpcGVuID0gOTkpDQpgYGANCg0KIyBPYmplY3RpdmUNCg0KTGVhcm4gaG93IHRvIGFzc2lnbiB2YWx1ZSBpbnRvIGFuIG9iamVjdCBpbiBSIGluIG1hbnkgd2F5cy4NCg0KIyBBc3NpZ25tZW50IE9wZXJhdG9yDQoNCkFzc2lnbm1lbnQgb3BlcmF0b3IgaW4gUiBpcyBhIGxpdHRsZSBiaXQgZGlmZmVyZW50IGZyb20gb3RoZXIgZ2VuZXJhbCBwcm9ncmFtbWluZyBsYW5ndWFnZXMuIE1vc3Qgb2YgaXQgdXNlcyBlcXVhbCBvcGVyYXRvciAoYD1gKSBhcyB0aGUgb25seSBvbmUgYXNzaWdubWVudCBvcGVyYXRvci4gSW4gUiwgdGhlIG1haW4gYW5kIG1vc3QgdXNlZCBieSBSIHVzZXJzIGlzIGxlZnQtYXJyb3cgb3BlcmF0b3IgKGA8LWApLiBUaGUgYG9iaiA8LSBleHByYCBtZWFucyAiYXNzaWduIHRoZSB2YWx1ZSBvZiB0aGUgcmVzdWx0IGZyb20gdGhlIG9wZXJhdGlvbiBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIChgZXhwcmApIHRvIHRoZSBvYmplY3Qgb24gdGhlIGxlZnQgaGFuZCBzaWRlIChgb2JqYCkiLiBPbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIEkgd2FudCB0byBhc3NpZ24gdGhlIG51bWVyaWMgdmFsdWUgYDNgIHRvIG9iamVjdCBjYWxsZWQgYHhgLg0KDQpgYGB7cn0NCnggPC0gMw0KYGBgDQoNCkNhbid0IEkgdXNlIHRoZSBlcXVhbCBvcGVyYXRvciBhcyBhc3NpZ25tZW50IG9wZXJhdG9yPyBPZiBjb3Vyc2UgeW91IGNhbiBhbHNvIHVzZSBpdC4NCg0KYGBge3J9DQp4ID0gMw0KYGBgDQoNClRoaXMgY2FuIGJlIGhlbHBmdWwgaWYgeW91IGFyZSBhIHByb2dyYW1tZXIgdGhhdCB1c2luZyBvdGhlciBwcm9ncmFtbWluZyBsYW5ndWFnZXMgdXNlcyBlcXVhbCBvcGVyYXRvciBhcyBhc3NpZ25tZW50IG9wZXJhdG9yLiBTbyB5b3UgZG9uJ3QgY29uZnVzZWQgd2l0aCAiV2hlbiBJIGhhdmUgdG8gdXNlIGA8LWAgb3IgYD1gPyIuIEJ1dCBJIGVuY291cmFnZSB5b3UgdG8gZ2V0IHVzZWQgdG8gdXNpbmcgYDwtYCB3aGVuIGNyZWF0ZSBwcm9ncmFtIHVzaW5nIFIuDQoNCklmIHlvdSB3YW50IHRvIGtub3cgdGhlIHZhbHVlIG9mIGFuIG9iamVjdCBqdXN0IHNpbXBseSBjYWxsIHRoZSBvYmplY3Qgb3IgdXNlIGBwcmludCgpYCBmdW5jdGlvbi4NCg0KYGBge3J9DQp4DQojIG9yDQpwcmludCh4KQ0KYGBgDQoNCg0KIyBNb3JlIEFzc2lnbm1lbnQgT3BlcmF0b3INCg0KVGhlcmUgYXJlIG1vcmUgYXNzaWdubWVudCB5b3UgY2FuIHVzZSBpbiBSLiBCZWxvdyBhcmUgbGlzdCBvZiBhc3NpZ25tZW50IG9wZXJhdG9yLg0KDQp8T3BlcmF0b3IgIHwgQ292ZXJhZ2UgIHwgRGVzY3JpcHRpb24gfA0KfDotLS06fDotLS0tfDotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnwgYDwtYCB8IGxvY2FsL2dsb2JhbCB8IHRoZSB2YWx1ZSBmcm9tIHRoZSByaWdodCBoYW5kIHNpZGUgaXMgaW5zZXJ0ZWQgaW50byB0aGUgb2JqZWN0IG9uIHRoZSBsZWZ0IGhhbmQgc2lkZSB8DQp8IGAtPmAgfCBsb2NhbC9nbG9iYWwgfCB0aGUgdmFsdWUgZnJvbSB0aGUgbGVmdCBoYW5kIHNpZGUgaXMgaW5zZXJ0ZWQgaW50byB0aGUgb2JqZWN0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgfA0KfCBgPDwtYCB8IGdsb2JhbCB8IHRoZSB2YWx1ZSBmcm9tIHRoZSByaWdodCBoYW5kIHNpZGUgaXMgaW5zZXJ0ZWQgaW50byB0aGUgZ2xvYmFsIG9iamVjdCBvbiB0aGUgbGVmdCBoYW5kIHNpZGUgfA0KfCBgLT4+YCB8IGdsb2JhbCB8IHRoZSB2YWx1ZSBmcm9tIHRoZSBsZWZ0IGhhbmQgc2lkZSBpcyBpbnNlcnRlZCBpbnRvIHRoZSBnbG9iYWwgb2JqZWN0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgfA0KfCB8DQoNCk5vdywgbGV0J3MgdGFrZSBhIGxvb2sgdG8gYC0+YCBvcGVyYXRvci4NCg0KYGBge3J9DQo1IC0+IHgNCmBgYA0KDQpBcyB5b3UgY2FuIHNlZSwgdGhlIGAtPmAgb3BlcmF0b3IgaGFzIHRoZSBvcHBvc2l0ZSBzaWRlIHRvIGA8LWAuIFRoZSB2YWx1ZSBvciBleHByZXNzaW9uIHRoYXQgcmV0dXJuIHZhbHVlIGlzIG9uIGxlZnQgaGFuZCBzaWRlLCB3aGlsZSB0aGUgb2JqZWN0IGlzIG9uIHRoZSByaWdodCBoYW5kIHNpZGUuIA0KDQpXZSB3aWxsIGRpc2N1c3MgdGhlIHR3byBtb3JlIGFzc2lnbm1lbnQgb3BlcmF0b3Igd2hlbiB3ZSBkaXNjdXNzIGFib3V0IGZ1bmN0aW9uIGluIFIuIEJlY2F1c2UgdGhleSBhcmUgbm9ybWFsbHkgb25seSB1c2VkIGluIGEgZnVuY3Rpb24uDQoNCiMgVGhlIGBhc3NpZ24oKWAgRnVuY3Rpb24NCg0KVGhlIGFub3RoZXIgd2F5IHRvIGFzc2lnbiB2YWx1ZSB0byBhbiBvYmplY3QgaW4gUiBpcyB1c2luZyB0aGUgYGFzc2lnbigpYCBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiB1c2VkIHdoZW4gdGhlIG9iamVjdCBpcyBhIHN0cmluZy4NCg0KTGV0J3Mgc2F5IHlvdSBoYXZlIG9iamVjdCBgeGAgd2hpY2ggaGF2ZSBhIHN0cmluZyB2YWx1ZSwgYHggPC0gImEiYC4gWW91IHdhbnQgdG8gY3JlYXRlIG9iamVjdCBiYXNlZCBvbiBgeGAncyB2YWx1ZSB3aXRob3V0IG1lbnRpb24gaXQgZXhwbGljaXRseS4NCg0KYGBge3J9DQp4IDwtICJhIg0KYGBgDQoNClNvLCBpIHdhbnQgdG8gYXNzaWduIHZhbHVlIGA3YCB0byBgYWAgb2JqZWN0IHdoaWNoIGlzIHRoZSB2YWx1ZSBvZiBgeGAuDQoNCmBgYHtyfQ0KYXNzaWduKHgsIDcpDQpgYGANCg0KVGhpcyBpcyBlcXVhbCB0byBgYXNzaWduKCJhIiwgNylgIGJlY2F1c2UgYHhgJ3MgdmFsdWUgaXMgc3RyaW5nIGAiYSJgLg0KDQpOb3csIGNhbGwgdGhlIGB4YCBvYmplY3QuDQoNCmBgYHtyfQ0KeA0KYGBgDQpBcyB5b3UgY2FuIHNlZSwgdGhlIGB4YCdzIHZhbHVlIGlzIHN0aWxsIGAiYSJgLiBCZWNhdXNlIHdlIGtub3cgdGhhdCB0aGUgdmFsdWUgb2YgYHhgIGlzIGAiYSJgIGFuZCB3ZSBoYWQgYXNzaWduIHZhbHVlIHRvIGl0LCBub3cgd2UgY2FuIHRyZWF0IGBhYCBhcyBhbiBvYmplY3QuDQoNCmBgYHtyfQ0KYQ0KYGBgDQpXZSBhbHJlYWR5IGhhdmUgYGFgIG9iamVjdCBldmVuIHRob3VnaCB3ZSBuZXZlciBjcmVhdGUgaXQgYmVmb3JlIHVzaW5nIGA8LWAsIGxpa2UgYGEgPC0gN2AuIA0KSG93IGlmIHdlIGRvbid0IGtub3cgdGhlIHZhbHVlIG9mIGB4YCBiZWNhdXNlIGl0IGlzIGR5bmFtaWNhbGx5IGNoYW5nZWQgaW4gYSBwcm9ncmFtLiBMZXQncyBzYXkgbm93IHRoZSB2YWx1ZSBvZiBgeGAgaXMgc3RyaW5nIGAiYiJgLg0KDQpgYGB7cn0NCnggPC0gImIiDQpgYGANCg0KTm93LCBqdXN0IHByZXRlbmQgdGhhdCB3ZSBkb24ndCBrbm93IHRoZSBjdXJyZW50IHZhbHVlIG9mIGB4YCBhbmQgd2UgYXNzaWduIHZhbHVlIHRvIGl0J3MgdmFsdWUgdXNpbmcgYGFzc2lnbigpYCBmdW5jdGlvbi4NCg0KYGBge3J9DQphc3NpZ24oeCwgOCkNCmBgYA0KDQpTbywgaG93IHdlIHN1cHBvc2VkIHRvIGtub3cgdG8gZ2V0IHRoZSBhc3NpZ25lZCB2YWx1ZSB0byB3aGF0IG9iamVjdD8gV2UgY2FuIHVzZSBgZ2V0KClgIGZ1bmN0aW9uIGZvciB0aGlzIGNpcmN1bXN0YW5jZS4gTGV0J3MgdXNlIHRoZSBleGFtcGxlIHVzaW5nIGBhYCBvYmplY3QuDQoNCmBgYHtyfQ0KZ2V0KCJhIikNCmBgYA0KR3JlYXQhIFNvIGJhc2ljYWxseSBpZiB5b3Uga25ldyBhbiBvYmplY3QncyBuYW1lIGFuZCB5b3Ugd2FudCB0byBnZXQgaXQncyB2YWx1ZSwgYnV0IHRyZWF0IHRoZSBuYW1lIGFzIHN0cmluZywgeW91IGNhbiB1c2UgYGdldCgpYCBmdW5jdGlvbi4gTm93LCBsZXQncyBjaGVjayB0aGUgdmFsdWUgb2YgYHhgJ3MgdmFsdWUuDQoNCmBgYHtyfQ0KIyB2YWx1ZSBvZiB4DQp4DQoNCiMgdmFsdWUgb2YgeCdzIHZhbHVlDQpnZXQoeCkNCmBgYA0KDQpMYXN0IGJ1dCBub3QgbGVhc3QsIGlmIHlvdSB3YW50IHRvIGtub3cgd2hhdCBvYmplY3RzIGFyZSBpbiB5b3VyIGN1cnJlbnQgc2Vzc2lvbiBvZiBSIHVzZSBgbHMoKWAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gd2lsbCBnaXZlIHlvdSBhbGwgbm90IGhpZGRlbiBvYmplY3RzIGluIGN1cnJlbnQgc2Vzc2lvbiBvZiBSLg0KDQpgYGB7cn0NCmxzKCkNCmBgYA0KT24gdGhlIG5leHQgYXJ0aWNsZSB3ZSB3aWxsIGRpc2N1c3MgYWJvdXQgb2JqZWN0IG5hbWluZyBpbiBSLiBTZWUgeW91IQ0K