Home / R / 103.1.4 R Data types

103.1.4 R Data types

This is the most important topic of our current session. R has vectors, data frames, lists.

R Vectors

Everything in R is stored as a Vector by default, most of the times.

If I say my name:

 >name<-“karthik”

The structure of name, Str(name) is Char

The data-type of name, is.vector(name)-TRUE. So, by default everything we create is a vector.

>Age<-29
>Is.vector(age):TRUE

Thus everything is a vector; basically, a vector is a combination/group of all basic elements that are put together. There are many advantages of using Vector like we need not write loops for making operations on vectors. c() is a concatenate operator. We can also say that vectors are a generalized version for arrays.

>Age <- c(15, 17, 16, 15, 16)
>English<- c(40, 56, 30, 68, 35)
>Science<- c(85, 80, 74, 39, 65)
>Name<- c("John", "Bob", "Kevin", "Smith", "Rick")
>is.vector(Age)
>True
>is.vector(English)
>True
>is.vector(Name)
>True

Many mathematical functions can be applied without loops. If we want to add 3 to vector-age, we need not use loop and run, simply we can write

>Age+3
[1] 18 20 19 18 19
>English1<- English+10
>Total<- English1 + Science
>Total
[1] 135 146 114 117 110
>Age/Total
[1] 0.1111111 0.1164384 0.1403509 0.1282051 0.1454545

 

Another example is as below

>x <- rnorm(100,mean=20,sd=5)
>mean(x)
[1] 20.16493
>x-mean(x)
 ##   [1]  -0.56962602   1.20292587  -7.99204832   2.82564771   1.18117481
 ##   [6]  -5.24518066  -2.68735732  -3.27495626  -0.28558601   0.74857039
 ##  [11]  -0.47749603 -10.15470947  -1.06874992   2.31996526   2.84350465
 ##  [16]   8.16148504   0.25051846   6.19313835   2.59168828   0.29868066
 ##  [21]  -3.82597413   5.39263180   4.67593290  -0.43454849  -8.25625452
 ##  [26]   7.84636863  -1.06371741   0.50440888  -3.09572178   3.99628700
 ##  [31]   9.38662504  -2.09353644  -1.95195873   8.14326027  -6.18426536
 ##  [36]   3.46082316   2.48187522 -11.74572064   0.35223491   1.67869236
 ##  [41]  -6.35170720  -1.45205184   2.91846245  -1.49338586   1.11208055
 ##  [46]  -8.72848627  -7.52563928   6.15454046  -1.22060564  10.02838035
 ##  [51]   1.70506238   1.41094805 -10.72651241  -0.66319353  -7.20567753
 ##  [56]   2.73986617   2.68289335  -2.83861944  -8.99196764   3.97441791
 ##  [61]  -0.74130073   8.79819626 -14.87133600   3.95593514   1.10624785
 ##  [66]  -2.89865994  -3.68172179   0.41355051   9.62255710  -9.98099032
 ##  [71]  12.66459589   4.30046314   9.53252294  -3.40578675  -1.04795097
 ##  [76]  -3.09459639  -0.24209619   4.98138610  -0.70323448  -4.26956279
 ##  [81]   3.35833387   5.09742073 -14.16394754   4.97869260   1.15177611
 ##  [86]   0.60028795  -4.74663476  -1.96627009   5.71759434   0.02098097
 ##  [91]  -0.49594059  -3.92591152  -6.29043650  -5.41646894  -2.31449988
 ##  [96]   1.87594179   8.00307231   3.92296652  10.13654537   2.36044150

Accessing of vector elements

We need to use the [] operator to access the elements

>Age
[1] 15 17 16 15 16

For accessing the third element of Age vector

>Age[3]
[1] 16

The 2nd, 3rd, 4th and 5th elements of the Age vector

Age[2:5]
[1] 17 16 15 16

The 1st, 3rd and 5th elements of Age vector

>Age[c(1,3,5)] 
[1] 15 16 16

To eliminate or ignore the second value and get rest of values.

>Age[-2]
[1] 15 16 15 16

Replace 3rd element with 19

>Age[3]<-19
>Age
[1] 15 17 19 15 16

Adding a new element to the vector

>Age[6]<-22
>Age
[1] 15 17 19 15 16 22

 To introduce value to an arbitrary position ,

>Age[10]<-42
>Age
[1] 15 17 19 15 16 22 NA NA NA 42

Every other value will be NA and 10th element will be 42.

We can also try to give all these numbers in cluster

>Age[6:10]<-c(23,25,26,29,33,35)
>Age
[1] 15 17 19 15 16 23 25 26 29 33 35

To find the vector type, We use the Class() of the vector to find the vector type

>class(Age)
[1]"numeric"

>class(Name)
[1]"character"

 

The succeeding posts will discuss on other datatypes .

 

About admin

Check Also

203.5.6 Neural Network Intuition

Before going further into neural network algorithm, we need to understand and break down how …

Leave a Reply

Your email address will not be published. Required fields are marked *