This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

```r

rm(list=ls())

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


First, run the following chunk to load the necessary libraries.


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuXG5saWJyYXJ5KHN0cmluZ3IpXG5saWJyYXJ5KG90dHIpXG5gYGBcbmBgYCJ9 -->

```r
```r

library(stringr)
library(ottr)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


Second, run this chunk to make sure graphical output will work.


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuXG5vcHRpb25zKGJpdG1hcFR5cGU9J2NhaXJvJylcbmBgYFxuYGBgIn0= -->

```r
```r

options(bitmapType='cairo')

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxubGlicmFyeShyZWFkcilcbmBgYFxuYGBgIn0= -->

```r
```r
library(readr)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxubGlicmFyeShkcGx5cilcbmBgYFxuYGBgIn0= -->

```r
```r
library(dplyr)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuYXJyYW5nZShzZXEpXG5gYGBcbmBgYCJ9 -->

```r
```r
arrange(seq)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuI2NvbXNlcTE8LWxpc3QoXFxUXFwsXFxHXFwsXFxjXFwsXFxBXFwsXFxeXFwsXFxBXFwsXFxBXFwsXFxBXFwpXG4jY29tc2VxMVxuYGBgXG5gYGAifQ== -->

```r
```r
#comseq1<-list(\T\,\G\,\c\,\A\,\^\,\A\,\A\,\A\)
#comseq1

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuI2NhdChwYXN0ZShjb21zZXExKSxzZXAgPVxcXFxuXFwpXG5gYGBcbmBgYCJ9 -->

```r
```r
#cat(paste(comseq1),sep =\\n\)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->





<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuY29tc2VxMSA8LSBjKCdUJywgJ0cnLCAnQycsICdBJywgJ14nLCAnQScsJ0EnLCdBJywnQScpXG5jb21zZXExXG5gYGBcbmBgYCJ9 -->

```r
```r
comseq1 <- c('T', 'G', 'C', 'A', '^', 'A','A','A','A')
comseq1

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuI2NhdChwYXN0ZSh4MSksc2VwID1cXFxcblxcKVxuYGBgXG5gYGAifQ== -->

```r
```r
#cat(paste(x1),sep =\\n\)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc29ydF9jb21zZXExPC1zb3J0KGNvbXNlcTEpXG5zb3J0X2NvbXNlcTFcbmBgYFxuYGBgIn0= -->

```r
```r
sort_comseq1<-sort(comseq1)
sort_comseq1

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



#write the compressed sequence as a string. using a variable called compressed_seq1

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuY29tcHJlc3NlZF9zZXExPC0oXFxUR0NBXkFBQVxcKVxuY29tcHJlc3NlZF9zZXExXG5gYGBcbmBgYCJ9 -->

```r
```r
compressed_seq1<-(\TGCA^AAA\)
compressed_seq1

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->

#change the sequence from string to be as vector by using the function strsplit. using a variable called sequence_1

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc2VxdWVuY2VfMjwtc3Ryc3BsaXQoY29tcHJlc3NlZF9zZXExLCBcXFxcKVtbMV1dXG5zZXF1ZW5jZV8xPC1zdHJzcGxpdChjb21wcmVzc2VkX3NlcTEsIFxcXFwpW1sxXV1cbnNlcXVlbmNlXzFcbmBgYFxuYGBgIn0= -->

```r
```r
sequence_2<-strsplit(compressed_seq1, \\)[[1]]
sequence_1<-strsplit(compressed_seq1, \\)[[1]]
sequence_1

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->

#use the function sort to make the sequence in an alphabetical order

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc29ydChzZXF1ZW5jZV8xKVxuYGBgXG5gYGAifQ== -->

```r
```r
sort(sequence_1)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->






<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuY2F0KHBhc3RlKHNvcnQocmVwKHNlcXVlbmNlXzEsKSksc2VwID1cXFxcblxcKSlcblxuYGBgXG5gYGAifQ== -->

```r
```r
cat(paste(sort(rep(sequence_1,)),sep =\\n\))

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZm9yKGkgaW4gMToyKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgbmV3IDwtIHJlcChpLCBucm93KGRmKSkgICAgICAgICAgICAgICAgICAgICAgIFxuICBkYXRhWyAsIG5jb2woZGYpICsgMV0gPC0gbmV3ICAgICAgICAgICAgICAgICAgXG4gIGNvbG5hbWVzKGRmKVtuY29sKGRmKV0gPC0gcGFzdGUwKFxcbmV3XFwsIGkpICBcbn1cbmBgYFxuYGBgIn0= -->

```r
```r
for(i in 1:2) {                                   
  new <- rep(i, nrow(df))                       
  data[ , ncol(df) + 1] <- new                  
  colnames(df)[ncol(df)] <- paste0(\new\, i)  
}

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->






<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZmlyc3RfY29sdW1uPC0gYyhcXF5cXCxcXEdcXCxcXEFcXCxcXFRcXCxcXFRcXCxcXEFcXCxcXENcXCxcXEFcXClcbnNlY29uZF9jb2x1bW48LSBzb3J0KGZpcnN0X2NvbHVtbilcbnRoaXJkX2NvbHVtbjwtcGFzdGUoZmlyc3RfY29sdW1uLHNlY29uZF9jb2x1bW4pXG5cbmZvdXJ0aF9jb2x1bW48LXNvcnQodGhpcmRfY29sdW1uKVxuI2ZpZnRoX2NvbHVtbjwtcGFzdGUoZmlyc3RfY29sdW1uLGZvdXJ0aF9jb2x1bW4pXG5cbiNzaXh0aF9jb2x1bW48LXNvcnQoZmlmdGhfY29sdW1uKVxuI3NldmVudGhfY29sdW1uPC1wYXN0ZShmaXJzdF9jb2x1bW4sc2l4dGhfY29sdW1uKVxuXG4jZWlnaHRfY29sdW1uPC1zb3J0KHNldmVudGhfY29sdW1uKVxuI25pbnRoX2NvdWxtbjwtcGFzdGUoZmlyc3RfY29sdW1uLGVpZ2h0X2NvbHVtbilcblxuI3RlbnRoX2NvdWxtbjwtc29ydChuaW50aF9jb3VsbW4pXG4jZWx2ZW50aF9jb3VsbW48LXBhc3RlKGZpcnN0X2NvbHVtbix0ZW50aF9jb3VsbW4pXG5cbiN0d2VsdmV0aF9jb3VsbW48LXNvcnQoZWx2ZW50aF9jb3VsbW4pXG5cbiNkZjwtZGF0YS5mcmFtZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbix0aGlyZF9jb2x1bW4sZm91cnRoX2NvbHVtbixmaWZ0aF9jb2x1bW4sc2l4dGhfY29sdW1uLHNldmVudGhfY29sdW1uLGVpZ2h0X2NvbHVtbixuaW50aF9jb3VsbW4sdGVudGhfY291bG1uLGVsdmVudGhfY291bG1uLHR3ZWx2ZXRoX2NvdWxtbilcbmRmPC1kYXRhLmZyYW1lKGZpcnN0X2NvbHVtbixzZWNvbmRfY29sdW1uLHRoaXJkX2NvbHVtbilcbmRmXG5gYGBcbmBgYCJ9 -->

```r
```r
first_column<- c(\^\,\G\,\A\,\T\,\T\,\A\,\C\,\A\)
second_column<- sort(first_column)
third_column<-paste(first_column,second_column)

fourth_column<-sort(third_column)
#fifth_column<-paste(first_column,fourth_column)

#sixth_column<-sort(fifth_column)
#seventh_column<-paste(first_column,sixth_column)

#eight_column<-sort(seventh_column)
#ninth_coulmn<-paste(first_column,eight_column)

#tenth_coulmn<-sort(ninth_coulmn)
#elventh_coulmn<-paste(first_column,tenth_coulmn)

#twelveth_coulmn<-sort(elventh_coulmn)

#df<-data.frame(first_column,second_column,third_column,fourth_column,fifth_column,sixth_column,seventh_column,eight_column,ninth_coulmn,tenth_coulmn,elventh_coulmn,twelveth_coulmn)
df<-data.frame(first_column,second_column,third_column)
df

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZmlyc3RfY29sdW1uPC0gYyhcXF5cXCxcXEdcXCxcXEFcXCxcXFRcXCxcXFRcXCxcXEFcXCxcXENcXCxcXEFcXClcbnNlY29uZF9jb2x1bW48LSBzb3J0KGZpcnN0X2NvbHVtbilcbnRoaXJkX2NvbHVtbjwtcGFzdGUoZmlyc3RfY29sdW1uLHNlY29uZF9jb2x1bW4pXG5mb3VydGhfY29sdW1uPC1zb3J0KHRoaXJkX2NvbHVtbilcbiNkZjwtZGF0YS5mcmFtZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbix0aGlyZF9jb2x1bW4pXG5kZjwtZGF0YS5mcmFtZShmaXJzdF9jb2x1bW4sIHNlY29uZF9jb2x1bW4sIHRoaXJkX2NvbHVtbiwgZm91cnRoX2NvbHVtbilcbmRmXG5gYGBcbmBgYCJ9 -->

```r
```r
first_column<- c(\^\,\G\,\A\,\T\,\T\,\A\,\C\,\A\)
second_column<- sort(first_column)
third_column<-paste(first_column,second_column)
fourth_column<-sort(third_column)
#df<-data.frame(first_column,second_column,third_column)
df<-data.frame(first_column, second_column, third_column, fourth_column)
df

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxucm0obGlzdD1scygpKVxuYGBgXG5gYGAifQ== -->

```r
```r
rm(list=ls())

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuXG4gZmlyc3RfY29sdW1uPC0gYyhcXF5cXCxcXEdcXCxcXEFcXCxcXFRcXCxcXFRcXCxcXEFcXCxcXENcXCxcXEFcXClcbmZvcihpIGluIGZpcnN0X2NvbHVtbikgeyBcbiAgY29sdW1uX3ZhcmlhYmxlPC0gY2JpbmQoKVxuIFxuc2Vjb25kX2NvbHVtbjwtIHNvcnQoZmlyc3RfY29sdW1uKVxudGhpcmRfY29sdW1uPC1wYXN0ZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbilcbmZvdXJ0aF9jb2x1bW48LSBzb3J0KGZvdXJ0aF9jb2x1bW4pXG5sZW5ndGhfMTwtbGVuZ3RoKGRmKVxuICAjbmV3IDwtIHJlcChpLCBucm93KGRmKSkgICAgICAgICAgICAgICAgICAgICAgIFxuICAjZGZbICwgbmNvbChkZikgXSA8LSBuZXcgICAgICAgICAgICAgICAgICBcbiAgI2NvbG5hbWVzKGRmKVtuY29sKGRmKV0gPC0gcGFzdGUwKFxcbmV3XFwsIGkpIFxuICAjZGY8LWNiaW5kKGRmLHNvcnQoZmlyc3RfY29sdW1uKSlcbn1cbmRmXG5cbmBgYFxuYGBgIn0= -->

```r
```r

 first_column<- c(\^\,\G\,\A\,\T\,\T\,\A\,\C\,\A\)
for(i in first_column) { 
  column_variable<- cbind()
 
second_column<- sort(first_column)
third_column<-paste(first_column,second_column)
fourth_column<- sort(fourth_column)
length_1<-length(df)
  #new <- rep(i, nrow(df))                       
  #df[ , ncol(df) ] <- new                  
  #colnames(df)[ncol(df)] <- paste0(\new\, i) 
  #df<-cbind(df,sort(first_column))
}
df

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuVmlldyhkZilcbmBgYFxuYGBgIn0= -->

```r
```r
View(df)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->





<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxubGVuZ3RoX2ZpcnN0X2NvbHVtbjwtIGxlbmd0aChmaXJzdF9jb2x1bW4pXG5sZW5ndGhfZmlyc3RfY29sdW1uXG5gYGBcbmBgYCJ9 -->

```r
```r
length_first_column<- length(first_column)
length_first_column

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc3RyKGRmKVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
str(df)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZGYgPC0gZGF0YS5mcmFtZSh4ID0gYyg2LCAyKSwgeSA9IGMoMywgNikpXG5cbiMgRW1wdHkgbGlzdFxucmVzIDwtIHZlY3RvcihcXGxpc3RcXCwgMilcblxuZm9yKGkgaW4gMTpuY29sKGRmKSkge1xuICAgIGZvciAoaiBpbiAxOm5yb3coZGYpKSB7XG4gICAgICAgIHJlc1tbal1dW2ldIDwtIGRmW2osIGldICogNFxuICAgIH1cbn1cblxucmVzXG5gYGBcbmBgYCJ9 -->

```r
```r
df <- data.frame(x = c(6, 2), y = c(3, 6))

# Empty list
res <- vector(\list\, 2)

for(i in 1:ncol(df)) {
    for (j in 1:nrow(df)) {
        res[[j]][i] <- df[j, i] * 4
    }
}

res

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->







<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxubWFrZSA8LSBmdW5jdGlvbih4MCwgbikge1xuICBmIDwtIGZ1bmN0aW9uKHgsIG0pIHtcbiAgICBpZihtIDw9IG4pIHtcbiAgICAgIHkgPC0gcGFzdGUoeFtbbmNvbCh4KV1dLCB4MClcbiAgICAgIHkgPC0gZGF0YS5mcmFtZSh5LCBzb3J0KHkpKVxuICAgICAgbmFtZXMoeSkgPC0gcGFzdGUoXFxjb2x1bW5cXCwgbToobSArIDFMKSwgc2VwID0gXFxfXFwpXG4gICAgICBvdXQgPC0gY2JpbmQoeCwgeSlcbiAgICAgIFJlY2FsbChvdXQsIG0gKyAyTClcbiAgICB9IGVsc2UgcmV0dXJuKHgpXG4gIH1cbiAgeCA8LSBkYXRhLmZyYW1lKHgwLCBzb3J0KHgwKSlcbiAgbmFtZXMoeCkgPC0gcGFzdGUoXFxjb2x1bW5cXCwgMToyLCBzZXAgPSBcXF9cXClcbiAgZih4LCAzTClcbn1cblxuZmlyc3RfY29sdW1uPC0gYyhcXF5cXCxcXEdcXCxcXEFcXCxcXFRcXCxcXFRcXCxcXEFcXCxcXENcXCxcXEFcXClcbm1ha2UoZmlyc3RfY29sdW1uLCA4KVxuYGBgXG5gYGByXG5OQVxuYGBgXG5gYGAifQ== -->

```r
```r
make <- function(x0, n) {
  f <- function(x, m) {
    if(m <= n) {
      y <- paste(x[[ncol(x)]], x0)
      y <- data.frame(y, sort(y))
      names(y) <- paste(\column\, m:(m + 1L), sep = \_\)
      out <- cbind(x, y)
      Recall(out, m + 2L)
    } else return(x)
  }
  x <- data.frame(x0, sort(x0))
  names(x) <- paste(\column\, 1:2, sep = \_\)
  f(x, 3L)
}

first_column<- c(\^\,\G\,\A\,\T\,\T\,\A\,\C\,\A\)
make(first_column, 8)
NA

<!-- rnb-source-end -->

<!-- rnb-frame-begin eyJtZXRhZGF0YSI6eyJjbGFzc2VzIjoiZGF0YS5mcmFtZSIsIm5yb3ciOjgsIm5jb2wiOjgsInN1bW1hcnkiOnsiRGVzY3JpcHRpb24iOiJkZiBbOCDDlyA4XSJ9fSwicmRmIjoiVWtSWU13cFlDZ0FBQUFNQUJBSUFBQU1GQUFBQUFBVlZWRVl0T0FBQUJBSUFBQUFCQUFRQUNRQUFBQUY0QUFBREV3QUFBQWdBQUFBUUFBQUFDQUFFQUFrQUFBQUJYZ0FFQUFrQUFBQUJSd0FFQUFrQUFBQUJRUUFFQUFrQUFBQUJWQUFFQUFrQUFBQUJWQUFFQUFrQUFBQUJRUUFFQUFrQUFBQUJRd0FFQUFrQUFBQUJRUUFBQUJBQUFBQUlBQVFBQ1FBQUFBRmVBQVFBQ1FBQUFBRkJBQVFBQ1FBQUFBRkJBQVFBQ1FBQUFBRkJBQVFBQ1FBQUFBRkRBQVFBQ1FBQUFBRkhBQVFBQ1FBQUFBRlVBQVFBQ1FBQUFBRlVBQUFBRUFBQUFBZ0FCQUFKQUFBQUExNGdYZ0FFQUFrQUFBQURRU0JIQUFRQUNRQUFBQU5CSUVFQUJBQUpBQUFBQTBFZ1ZBQUVBQWtBQUFBRFF5QlVBQVFBQ1FBQUFBTkhJRUVBQkFBSkFBQUFBMVFnUXdBRUFBa0FBQUFEVkNCQkFBQUFFQUFBQUFnQUJBQUpBQUFBQTE0Z1hnQUVBQWtBQUFBRFFTQkJBQVFBQ1FBQUFBTkJJRWNBQkFBSkFBQUFBMEVnVkFBRUFBa0FBQUFEUXlCVUFBUUFDUUFBQUFOSElFRUFCQUFKQUFBQUExUWdRUUFFQUFrQUFBQURWQ0JEQUFBQUVBQUFBQWdBQkFBSkFBQUFCVjRnWGlCZUFBUUFDUUFBQUFWQklFRWdSd0FFQUFrQUFBQUZRU0JISUVFQUJBQUpBQUFBQlVFZ1ZDQlVBQVFBQ1FBQUFBVkRJRlFnVkFBRUFBa0FBQUFGUnlCQklFRUFCQUFKQUFBQUJWUWdRU0JEQUFRQUNRQUFBQVZVSUVNZ1FRQUFBQkFBQUFBSUFBUUFDUUFBQUFWZUlGNGdYZ0FFQUFrQUFBQUZRU0JCSUVjQUJBQUpBQUFBQlVFZ1J5QkJBQVFBQ1FBQUFBVkJJRlFnVkFBRUFBa0FBQUFGUXlCVUlGUUFCQUFKQUFBQUJVY2dRU0JCQUFRQUNRQUFBQVZVSUVFZ1F3QUVBQWtBQUFBRlZDQkRJRUVBQUFBUUFBQUFDQUFFQUFrQUFBQUhYaUJlSUY0Z1hnQUVBQWtBQUFBSFFTQkJJRWNnUndBRUFBa0FBQUFIUVNCSElFRWdRUUFFQUFrQUFBQUhRU0JVSUZRZ1ZBQUVBQWtBQUFBSFF5QlVJRlFnVkFBRUFBa0FBQUFIUnlCQklFRWdRUUFFQUFrQUFBQUhWQ0JCSUVNZ1F3QUVBQWtBQUFBSFZDQkRJRUVnUVFBQUFCQUFBQUFJQUFRQUNRQUFBQWRlSUY0Z1hpQmVBQVFBQ1FBQUFBZEJJRUVnUnlCSEFBUUFDUUFBQUFkQklFY2dRU0JCQUFRQUNRQUFBQWRCSUZRZ1ZDQlVBQVFBQ1FBQUFBZERJRlFnVkNCVUFBUUFDUUFBQUFkSElFRWdRU0JCQUFRQUNRQUFBQWRVSUVFZ1F5QkRBQVFBQ1FBQUFBZFVJRU1nUVNCQkFBQUVBZ0FBQUFFQUJBQUpBQUFBQlc1aGJXVnpBQUFBRUFBQUFBZ0FCQUFKQUFBQUNHTnZiSFZ0Ymw4eEFBUUFDUUFBQUFoamIyeDFiVzVmTWdBRUFBa0FBQUFJWTI5c2RXMXVYek1BQkFBSkFBQUFDR052YkhWdGJsODBBQVFBQ1FBQUFBaGpiMngxYlc1Zk5RQUVBQWtBQUFBSVkyOXNkVzF1WHpZQUJBQUpBQUFBQ0dOdmJIVnRibDgzQUFRQUNRQUFBQWhqYjJ4MWJXNWZPQUFBQkFJQUFBQUJBQVFBQ1FBQUFBbHliM2N1Ym1GdFpYTUFBQUFOQUFBQUFvQUFBQUFBQUFBSUFBQUVBZ0FBQUFFQUJBQUpBQUFBQldOc1lYTnpBQUFBRUFBQUFBRUFCQUFKQUFBQUNtUmhkR0V1Wm5KaGJXVUFBQUQrQUFBRUFnQUFBQUVBQkFBSkFBQUFCMjl3ZEdsdmJuTUFBQUlUQUFBQUJRQUFBQkFBQUFBQkFBUUFDUUFBQUFGeUFBQUFFQUFBQUFFQUJBQUpBQUFBRDNWdWJtRnRaV1F0WTJoMWJtc3ROQUFBQUFvQUFBQUJBQUFBQUFBQUFBMEFBQUFCQUFBQUNBQUFBQTBBQUFBQkFBQUFDQUFBQkFJQUFBTC9BQUFBRUFBQUFBVUFCQUFKQUFBQUJtVnVaMmx1WlFBRUFBa0FBQUFGYkdGaVpXd0FCQUFKQUFBQURuSnZkMjVoYldWekxuQnlhVzUwQUFRQUNRQUFBQXB5YjNkekxuUnZkR0ZzQUFRQUNRQUFBQXBqYjJ4ekxuUnZkR0ZzQUFBQS9nQUFBUDQ9In0= -->

<div data-pagedtable="false">
  <script data-pagedtable-source type="application/json">
{"columns":[{"label":["column_1"],"name":[1],"type":["chr"],"align":["left"]},{"label":["column_2"],"name":[2],"type":["chr"],"align":["left"]},{"label":["column_3"],"name":[3],"type":["chr"],"align":["left"]},{"label":["column_4"],"name":[4],"type":["chr"],"align":["left"]},{"label":["column_5"],"name":[5],"type":["chr"],"align":["left"]},{"label":["column_6"],"name":[6],"type":["chr"],"align":["left"]},{"label":["column_7"],"name":[7],"type":["chr"],"align":["left"]},{"label":["column_8"],"name":[8],"type":["chr"],"align":["left"]}],"data":[{"1":"^","2":"^","3":"^ ^","4":"^ ^","5":"^ ^ ^","6":"^ ^ ^","7":"^ ^ ^ ^","8":"^ ^ ^ ^"},{"1":"G","2":"A","3":"A G","4":"A A","5":"A A G","6":"A A G","7":"A A G G","8":"A A G G"},{"1":"A","2":"A","3":"A A","4":"A G","5":"A G A","6":"A G A","7":"A G A A","8":"A G A A"},{"1":"T","2":"A","3":"A T","4":"A T","5":"A T T","6":"A T T","7":"A T T T","8":"A T T T"},{"1":"T","2":"C","3":"C T","4":"C T","5":"C T T","6":"C T T","7":"C T T T","8":"C T T T"},{"1":"A","2":"G","3":"G A","4":"G A","5":"G A A","6":"G A A","7":"G A A A","8":"G A A A"},{"1":"C","2":"T","3":"T C","4":"T A","5":"T A C","6":"T A C","7":"T A C C","8":"T A C C"},{"1":"A","2":"T","3":"T A","4":"T C","5":"T C A","6":"T C A","7":"T C A A","8":"T C A A"}],"options":{"columns":{"min":{},"max":[10],"total":[8]},"rows":{"min":[10],"max":[10],"total":[8]},"pages":{}}}
  </script>
</div>

<!-- rnb-frame-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxueCA8LSBjKEE9MSwgQz0yLCBHPTMsIFQ9NCwgYF5gPSA1LCBgIWA9NilcbnhcbmBgYCJ9 -->

```r
x <- c(A=1, C=2, G=3, T=4, `^`= 5, `!`=6)
x
y <- "!^GATTACA"
s <- strsplit(y, "")[[1]]
i <- match(s, names(x))
i
s[c(3:length(s), 1, 2)]
[1] "G" "A" "T" "T" "A" "C" "A" "!" "^"
paste(s[c(3:length(s), 1, 2)], collapse = "")
[1] "GATTACA!^"
x = "!^GATTACA"
str_replace_all(x, c("A"="1", "C"="2", "G"="3", "T"="4", "\\^"="5", "\\!"="6"))
[1] "653144121"

You might like to try out knitting your document together as html now to see all the work you have done in the friendly html format.

Hopefully, this has given you some experience with the RStudio environment as well as objects, variables, data types and functions in the R language.

You should now have everything you need to tackle the next lesson, where we will learn how to import and manipulate data in R.

This is the end of the notebook.

LS0tCnRpdGxlOiAiQldUIFByb2plY3QiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KClRoaXMgaXMgYW4gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pIE5vdGVib29rLiAKV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiAKCgpgYGB7cn0KCnJtKGxpc3Q9bHMoKSkKYGBgCgpGaXJzdCwgcnVuIHRoZSBmb2xsb3dpbmcgY2h1bmsgdG8gbG9hZCB0aGUgbmVjZXNzYXJ5IGxpYnJhcmllcy4KCmBgYHtyfQoKbGlicmFyeShzdHJpbmdyKQpsaWJyYXJ5KG90dHIpCmBgYAoKU2Vjb25kLCBydW4gdGhpcyBjaHVuayB0byBtYWtlIHN1cmUgZ3JhcGhpY2FsIG91dHB1dCB3aWxsIHdvcmsuCgpgYGB7cn0KCm9wdGlvbnMoYml0bWFwVHlwZT0nY2Fpcm8nKQpgYGAKYGBge3J9CmxpYnJhcnkocmVhZHIpCmBgYAoKCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQpgYGAKCgpgYGB7cn0KYXJyYW5nZShzZXEpCmBgYAoKYGBge3J9CiNjb21zZXExPC1saXN0KCJUIiwiRyIsImMiLCJBIiwiXiIsIkEiLCJBIiwiQSIpCiNjb21zZXExCmBgYAoKYGBge3J9CiNjYXQocGFzdGUoY29tc2VxMSksc2VwID0iXG4iKQpgYGAKCgoKYGBge3J9CmNvbXNlcTEgPC0gYygnVCcsICdHJywgJ0MnLCAnQScsICdeJywgJ0EnLCdBJywnQScsJ0EnKQpjb21zZXExCmBgYAoKYGBge3J9CiNjYXQocGFzdGUoeDEpLHNlcCA9IlxuIikKYGBgCgoKYGBge3J9CnNvcnRfY29tc2VxMTwtc29ydChjb21zZXExKQpzb3J0X2NvbXNlcTEKYGBgCgoKI3dyaXRlIHRoZSBjb21wcmVzc2VkIHNlcXVlbmNlIGFzIGEgc3RyaW5nLiB1c2luZyBhIHZhcmlhYmxlIGNhbGxlZCBjb21wcmVzc2VkX3NlcTEKYGBge3J9CmNvbXByZXNzZWRfc2VxMTwtKCJUR0NBXkFBQSIpCmNvbXByZXNzZWRfc2VxMQpgYGAKI2NoYW5nZSB0aGUgc2VxdWVuY2UgZnJvbSBzdHJpbmcgdG8gYmUgYXMgdmVjdG9yIGJ5IHVzaW5nIHRoZSBmdW5jdGlvbiBzdHJzcGxpdC4gdXNpbmcgYSB2YXJpYWJsZSBjYWxsZWQgc2VxdWVuY2VfMQpgYGB7cn0Kc2VxdWVuY2VfMjwtc3Ryc3BsaXQoY29tcHJlc3NlZF9zZXExLCAiIilbWzFdXQpzZXF1ZW5jZV8xPC1zdHJzcGxpdChjb21wcmVzc2VkX3NlcTEsICIiKVtbMV1dCnNlcXVlbmNlXzEKYGBgCiN1c2UgdGhlIGZ1bmN0aW9uIHNvcnQgdG8gbWFrZSB0aGUgc2VxdWVuY2UgaW4gYW4gYWxwaGFiZXRpY2FsIG9yZGVyCmBgYHtyfQpzb3J0KHNlcXVlbmNlXzEpCmBgYAoKCgoKYGBge3J9CmNhdChwYXN0ZShzb3J0KHJlcChzZXF1ZW5jZV8xLCkpLHNlcCA9IlxuIikpCgpgYGAKCgpgYGB7cn0KCmBgYAoKYGBge3J9CmZvcihpIGluIDE6MikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgbmV3IDwtIHJlcChpLCBucm93KGRmKSkgICAgICAgICAgICAgICAgICAgICAgIAogIGRhdGFbICwgbmNvbChkZikgKyAxXSA8LSBuZXcgICAgICAgICAgICAgICAgICAKICBjb2xuYW1lcyhkZilbbmNvbChkZildIDwtIHBhc3RlMCgibmV3IiwgaSkgIAp9CmBgYAoKCgoKYGBge3J9CmZpcnN0X2NvbHVtbjwtIGMoIl4iLCJHIiwiQSIsIlQiLCJUIiwiQSIsIkMiLCJBIikKc2Vjb25kX2NvbHVtbjwtIHNvcnQoZmlyc3RfY29sdW1uKQp0aGlyZF9jb2x1bW48LXBhc3RlKGZpcnN0X2NvbHVtbixzZWNvbmRfY29sdW1uKQoKZm91cnRoX2NvbHVtbjwtc29ydCh0aGlyZF9jb2x1bW4pCiNmaWZ0aF9jb2x1bW48LXBhc3RlKGZpcnN0X2NvbHVtbixmb3VydGhfY29sdW1uKQoKI3NpeHRoX2NvbHVtbjwtc29ydChmaWZ0aF9jb2x1bW4pCiNzZXZlbnRoX2NvbHVtbjwtcGFzdGUoZmlyc3RfY29sdW1uLHNpeHRoX2NvbHVtbikKCiNlaWdodF9jb2x1bW48LXNvcnQoc2V2ZW50aF9jb2x1bW4pCiNuaW50aF9jb3VsbW48LXBhc3RlKGZpcnN0X2NvbHVtbixlaWdodF9jb2x1bW4pCgojdGVudGhfY291bG1uPC1zb3J0KG5pbnRoX2NvdWxtbikKI2VsdmVudGhfY291bG1uPC1wYXN0ZShmaXJzdF9jb2x1bW4sdGVudGhfY291bG1uKQoKI3R3ZWx2ZXRoX2NvdWxtbjwtc29ydChlbHZlbnRoX2NvdWxtbikKCiNkZjwtZGF0YS5mcmFtZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbix0aGlyZF9jb2x1bW4sZm91cnRoX2NvbHVtbixmaWZ0aF9jb2x1bW4sc2l4dGhfY29sdW1uLHNldmVudGhfY29sdW1uLGVpZ2h0X2NvbHVtbixuaW50aF9jb3VsbW4sdGVudGhfY291bG1uLGVsdmVudGhfY291bG1uLHR3ZWx2ZXRoX2NvdWxtbikKZGY8LWRhdGEuZnJhbWUoZmlyc3RfY29sdW1uLHNlY29uZF9jb2x1bW4sdGhpcmRfY29sdW1uKQpkZgpgYGAKCmBgYHtyfQpmaXJzdF9jb2x1bW48LSBjKCJeIiwiRyIsIkEiLCJUIiwiVCIsIkEiLCJDIiwiQSIpCnNlY29uZF9jb2x1bW48LSBzb3J0KGZpcnN0X2NvbHVtbikKdGhpcmRfY29sdW1uPC1wYXN0ZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbikKZm91cnRoX2NvbHVtbjwtc29ydCh0aGlyZF9jb2x1bW4pCiNkZjwtZGF0YS5mcmFtZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbix0aGlyZF9jb2x1bW4pCmRmPC1kYXRhLmZyYW1lKGZpcnN0X2NvbHVtbiwgc2Vjb25kX2NvbHVtbiwgdGhpcmRfY29sdW1uLCBmb3VydGhfY29sdW1uKQpkZgpgYGAKCmBgYHtyfQpybShsaXN0PWxzKCkpCmBgYAoKYGBge3J9CgogZmlyc3RfY29sdW1uPC0gYygiXiIsIkciLCJBIiwiVCIsIlQiLCJBIiwiQyIsIkEiKQpmb3IoaSBpbiBmaXJzdF9jb2x1bW4pIHsgCiAgY29sdW1uX3ZhcmlhYmxlPC0gY2JpbmQoKQogCnNlY29uZF9jb2x1bW48LSBzb3J0KGZpcnN0X2NvbHVtbikKdGhpcmRfY29sdW1uPC1wYXN0ZShmaXJzdF9jb2x1bW4sc2Vjb25kX2NvbHVtbikKZm91cnRoX2NvbHVtbjwtIHNvcnQoZm91cnRoX2NvbHVtbikKbGVuZ3RoXzE8LWxlbmd0aChkZikKICAjbmV3IDwtIHJlcChpLCBucm93KGRmKSkgICAgICAgICAgICAgICAgICAgICAgIAogICNkZlsgLCBuY29sKGRmKSBdIDwtIG5ldyAgICAgICAgICAgICAgICAgIAogICNjb2xuYW1lcyhkZilbbmNvbChkZildIDwtIHBhc3RlMCgibmV3IiwgaSkgCiAgI2RmPC1jYmluZChkZixzb3J0KGZpcnN0X2NvbHVtbikpCn0KZGYKCmBgYAoKCmBgYHtyfQpWaWV3KGRmKQpgYGAKCgoKYGBge3J9Cmxlbmd0aF9maXJzdF9jb2x1bW48LSBsZW5ndGgoZmlyc3RfY29sdW1uKQpsZW5ndGhfZmlyc3RfY29sdW1uCmBgYApgYGB7cn0Kc3RyKGRmKQoKYGBgCgpgYGB7cn0KZGYgPC0gZGF0YS5mcmFtZSh4ID0gYyg2LCAyKSwgeSA9IGMoMywgNikpCgojIEVtcHR5IGxpc3QKcmVzIDwtIHZlY3RvcigibGlzdCIsIDIpCgpmb3IoaSBpbiAxOm5jb2woZGYpKSB7CiAgICBmb3IgKGogaW4gMTpucm93KGRmKSkgewogICAgICAgIHJlc1tbal1dW2ldIDwtIGRmW2osIGldICogNAogICAgfQp9CgpyZXMKYGBgCgoKCgoKYGBge3J9Cm1ha2UgPC0gZnVuY3Rpb24oeDAsIG4pIHsKICBmIDwtIGZ1bmN0aW9uKHgsIG0pIHsKICAgIGlmKG0gPD0gbikgewogICAgICB5IDwtIHBhc3RlKHhbW25jb2woeCldXSwgeDApCiAgICAgIHkgPC0gZGF0YS5mcmFtZSh5LCBzb3J0KHkpKQogICAgICBuYW1lcyh5KSA8LSBwYXN0ZSgiY29sdW1uIiwgbToobSArIDFMKSwgc2VwID0gIl8iKQogICAgICBvdXQgPC0gY2JpbmQoeCwgeSkKICAgICAgUmVjYWxsKG91dCwgbSArIDJMKQogICAgfSBlbHNlIHJldHVybih4KQogIH0KICB4IDwtIGRhdGEuZnJhbWUoeDAsIHNvcnQoeDApKQogIG5hbWVzKHgpIDwtIHBhc3RlKCJjb2x1bW4iLCAxOjIsIHNlcCA9ICJfIikKICBmKHgsIDNMKQp9CgpmaXJzdF9jb2x1bW48LSBjKCJeIiwiRyIsIkEiLCJUIiwiVCIsIkEiLCJDIiwiQSIpCm1ha2UoZmlyc3RfY29sdW1uLCA4KQoKYGBgCgpgYGB7cn0KeCA8LSBjKEE9MSwgQz0yLCBHPTMsIFQ9NCwgYF5gPSA1LCBgIWA9NikKeApgYGAKCgpgYGB7cn0KeSA8LSAiIV5HQVRUQUNBIgpzIDwtIHN0cnNwbGl0KHksICIiKVtbMV1dCmkgPC0gbWF0Y2gocywgbmFtZXMoeCkpCmkKYGBgCgpgYGB7cn0Kc1tjKDM6bGVuZ3RoKHMpLCAxLCAyKV0KcGFzdGUoc1tjKDM6bGVuZ3RoKHMpLCAxLCAyKV0sIGNvbGxhcHNlID0gIiIpCmBgYApgYGB7cn0KeCA9ICIhXkdBVFRBQ0EiCnN0cl9yZXBsYWNlX2FsbCh4LCBjKCJBIj0iMSIsICJDIj0iMiIsICJHIj0iMyIsICJUIj0iNCIsICJcXF4iPSI1IiwgIlxcISI9IjYiKSkKYGBgCgoKCgoKWW91IG1pZ2h0IGxpa2UgdG8gdHJ5IG91dCBrbml0dGluZyB5b3VyIGRvY3VtZW50IHRvZ2V0aGVyIGFzIGh0bWwgbm93IHRvIHNlZSBhbGwgdGhlIHdvcmsgeW91IGhhdmUgZG9uZSBpbiB0aGUgZnJpZW5kbHkgaHRtbCBmb3JtYXQuCgpIb3BlZnVsbHksIHRoaXMgaGFzIGdpdmVuIHlvdSBzb21lIGV4cGVyaWVuY2Ugd2l0aCB0aGUgUlN0dWRpbyBlbnZpcm9ubWVudCBhcyB3ZWxsIGFzIG9iamVjdHMsIHZhcmlhYmxlcywgZGF0YSB0eXBlcyBhbmQgZnVuY3Rpb25zIGluIHRoZSBSIGxhbmd1YWdlLiAKCllvdSBzaG91bGQgbm93IGhhdmUgZXZlcnl0aGluZyB5b3UgbmVlZCB0byB0YWNrbGUgdGhlIG5leHQgbGVzc29uLCB3aGVyZSB3ZSB3aWxsIGxlYXJuIGhvdyB0byBpbXBvcnQgYW5kIG1hbmlwdWxhdGUgZGF0YSBpbiBSLgoKVGhpcyBpcyB0aGUgZW5kIG9mIHRoZSBub3RlYm9vay4=