## The R Notes - Part 1

##### Sat February 8, 2020
r

Some quick and dirty notes on the R language:

Execute Script from Console source(“xxxx.r”)

## Assign to Variable and Printing

use <- to assign, comments following #

x<-1
print(x)

y<-1:10
print(y)

#hello message
msg<-"hello"
print(msg)


## Vectors and Lists

Using Vector:

x<- vector()
x[1] <- 2
x[2] <- 5
print(x)


will produce: [1] 2 5

Storing items of different types, use List

#using list
y<- list()
y[1] <- 3
y[2] <- "hello"
y[3] <- 'w'

print(y)


Will produce

[[1]]
[1] 3

[[2]]
[1] "hello"

[[3]]
[1] "w"


You can get attributes of collections

print(class(x))
print(length(x))


will produce:

[1] "numeric"
[1] 2


## Matrices

### Matrix creation

m <- matrix(nrow = 5, ncol = 10)
print(m)


will produce:

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA


You can get the dimensions of the matrix,

print(dim(m))


will give

[1] 5 10

### Changing matrix element

m[2,3]<-4
print(m)


will produce

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[2,]   NA   NA    4   NA   NA   NA   NA   NA   NA    NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA


### Changing a whole row and column

m[3,]<-2:11
print(m)

m[,10]<-1:5
print(m)


will produce:

[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[2,]   NA   NA    4   NA   NA   NA   NA   NA   NA    NA
[3,]    2    3    4    5    6    7    8    9   10    11
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA     1
[2,]   NA   NA    4   NA   NA   NA   NA   NA   NA     2
[3,]    2    3    4    5    6    7    8    9   10     3
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA     4
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA     5


### Assigning all elements of the matrix:

m[,]<-1:50
print(m)

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1    6   11   16   21   26   31   36   41    46
[2,]    2    7   12   17   22   27   32   37   42    47
[3,]    3    8   13   18   23   28   33   38   43    48
[4,]    4    9   14   19   24   29   34   39   44    49
[5,]    5   10   15   20   25   30   35   40   45    50


### Transforming vector to matrix

v=1:30
print(v)

dim(v)<- c(5,6)
print(v)

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    6   11   16   21   26
[2,]    2    7   12   17   22   27
[3,]    3    8   13   18   23   28
[4,]    4    9   14   19   24   29
[5,]    5   10   15   20   25   30


### Binding vectors

a<-1:10
b<-11:15
c<-21:30

print(cbind(a,b,c))
print(rbind(a,b,c))

       a  b  c
[1,]  1 11 21
[2,]  2 12 22
[3,]  3 13 23
[4,]  4 14 24
[5,]  5 15 25
[6,]  6 11 26
[7,]  7 12 27
[8,]  8 13 28
[9,]  9 14 29
[10,] 10 15 30

  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
a    1    2    3    4    5    6    7    8    9    10
b   11   12   13   14   15   11   12   13   14    15
c   21   22   23   24   25   26   27   28   29    30


r

r