Variable Type
# number var
num_var = 10
num_var2 = 20.5
# char var -> letter, sentence
char_var = "This is a char var"
char_var2 = "This is another char var"
#logical var
logical1 = TRUE
logical2 = FALSE
#vector
num_vec = c( 1, 5,10,20, 50 )
fish_vec = c( "hilsha", "Ruhi", "telapia" )
fish_vec
[1] "hilsha" "Ruhi" "telapia"
Arithmatic operation
a = 10
b = 5
# add
add = a+b
#minus
sub = a-b
# division
div = a/b
# multiplication
mult = a*b
# power
p = a^2
#modulo
m = a %% b
m2 = a %% 3
cat( add, sub, div, mult, p, m, m2)
15 5 2 50 100 0 1
combined calculation
c = (10 + (5-2) * 20 + (20-10))*10
c
[1] 800
string
concatenation or merge
var1 = "This is a variable"
var2 = "I am a variable"
combined = paste(var1, var2, var1, var2, sep = " - ")
combined
[1] "This is a variable - I am a variable - This is a variable - I am a variable"
var1 = "GTAC"
var2 = "ATGCA"
paste(var1, var2, sep = "")
[1] "GTACATGCA"
Segment
var = "GTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCA"
substr(var, start = 12, stop = 16)
[1] "ACATG"
pattern Exists?
gene_seq = "GTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCA"
pattern1 = "ATGCE"
pattern2 = "TGCAGTA"
grepl(pattern1, gene_seq)
[1] FALSE
grepl(pattern2, gene_seq)
[1] TRUE
pattern matching
gene_seq = "GTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCAGTACATGCA"
pattern1 = "ATGCE"
pattern2 = "TGCAGTA"
matches = gregexpr(pattern2, gene_seq)
matches = unlist(matches)
matches
[1] 6 15 24 33 42
matches = gregexpr(pattern1, gene_seq)
matches = unlist(matches)
matches
[1] -1
Split
gene_seq = "GTACATGCAGT,ACATG,CAGTACAT,GCAGTACATGCAG,TACATGC,AGTACATGCA"
gene_vec = strsplit(gene_seq, split = " , ")
gene_vec
[[1]]
[1] "GTACATGCAGT,ACATG,CAGTACAT,GCAGTACATGCAG,TACATGC,AGTACATGCA"
gene_seq = "GTACATGCAGT ACATG CAGTACAT GCAGTACATGCAG TACATGC AGTACATGCA"
gene_vec = strsplit(gene_seq, split = " ")
gene_vec
[[1]]
[1] "GTACATGCAGT" "ACATG" "CAGTACAT" "GCAGTACATGCAG" "TACATGC" "AGTACATGCA"
Reverse
library(stringi)
gene_seq = "GTACATGCAGT"
rev_gene_seq = stri_reverse(gene_seq)
rev_gene_seq
[1] "TGACGTACATG"
library(stringi)
gene_seq = "This is a cat"
rev_gene_seq = stri_reverse(gene_seq)
rev_gene_seq
[1] "tac a si sihT"
vector
ages = c(25, 45, 24, 67, 50, 40)
score = c(100, 70, 90, 50, 55, 79)
Index
ages[4]
[1] 67
score[1]
[1] 100
##remove
ages[-4]
[1] 25 45 24 50 40
ages = ages[-4]
ages
[1] 25 45 24
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyBWYXJpYWJsZSBUeXBlCmBgYHtyfQoKIyBudW1iZXIgdmFyCm51bV92YXIgPSAxMApudW1fdmFyMiA9IDIwLjUKCiMgY2hhciB2YXIgIC0+IGxldHRlciwgc2VudGVuY2UKY2hhcl92YXIgPSAiVGhpcyBpcyBhIGNoYXIgdmFyIgpjaGFyX3ZhcjIgPSAiVGhpcyBpcyBhbm90aGVyIGNoYXIgdmFyIgoKI2xvZ2ljYWwgdmFyCmxvZ2ljYWwxID0gVFJVRQpsb2dpY2FsMiA9IEZBTFNFCgojdmVjdG9yCm51bV92ZWMgPSBjKCAxLCA1LDEwLDIwLCA1MCApCmZpc2hfdmVjID0gYyggImhpbHNoYSIsICJSdWhpIiwgInRlbGFwaWEiICkKZmlzaF92ZWMgCgoKYGBgCgoKCiMgQXJpdGhtYXRpYyBvcGVyYXRpb24KYGBge3J9CgphID0gMTAKYiA9IDUKCiMgYWRkCmFkZCA9IGErYgoKI21pbnVzCnN1YiA9IGEtYgoKIyBkaXZpc2lvbgpkaXYgPSBhL2IKCiMgbXVsdGlwbGljYXRpb24KbXVsdCA9IGEqYgoKIyBwb3dlcgpwID0gYV4yCgojbW9kdWxvCm0gPSBhICUlIGIKbTIgPSBhICUlIDMKCgoKYGBgCmBgYHtyfQoKY2F0KCBhZGQsIHN1YiwgZGl2LCBtdWx0LCBwLCBtLCBtMikKYGBgCgoKIyMgY29tYmluZWQgY2FsY3VsYXRpb24KYGBge3J9CgpjID0gKDEwICsgKDUtMikgKiAyMCArICgyMC0xMCkpKjEwCmMKYGBgCgoKIyBzdHJpbmcKCiMgY29uY2F0ZW5hdGlvbiBvciBtZXJnZQpgYGB7cn0KdmFyMSA9ICJUaGlzIGlzIGEgdmFyaWFibGUiCnZhcjIgPSAiSSBhbSBhIHZhcmlhYmxlIgoKY29tYmluZWQgPSBwYXN0ZSh2YXIxLCB2YXIyLCB2YXIxLCB2YXIyLCBzZXAgPSAiIC0gIikKY29tYmluZWQKCgoKYGBgCgpgYGB7cn0KdmFyMSA9ICJHVEFDIgp2YXIyID0gIkFUR0NBIgpwYXN0ZSh2YXIxLCB2YXIyLCBzZXAgPSAiIikKCmBgYAoKIyMgU2VnbWVudApgYGB7cn0KdmFyID0gIkdUQUNBVEdDQUdUQUNBVEdDQUdUQUNBVEdDQUdUQUNBVEdDQUdUQUNBVEdDQUdUQUNBVEdDQSIKc3Vic3RyKHZhciwgc3RhcnQgPSAxMiwgc3RvcCA9IDE2KQoKYGBgCgojIyBsZW5ndGgKYGBge3J9Cm5jaGFyKHZhcikKCmBgYAoKIyMgcGF0dGVybiBFeGlzdHM/CmBgYHtyfQpnZW5lX3NlcSA9ICJHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0EiCnBhdHRlcm4xID0gIkFUR0NFIgpwYXR0ZXJuMiA9ICJUR0NBR1RBIgoKZ3JlcGwocGF0dGVybjEsIGdlbmVfc2VxKQpncmVwbChwYXR0ZXJuMiwgZ2VuZV9zZXEpCgpgYGAKCiMjIHBhdHRlcm4gbWF0Y2hpbmcKCmBgYHtyfQpnZW5lX3NlcSA9ICJHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0FHVEFDQVRHQ0EiCnBhdHRlcm4xID0gIkFUR0NFIgpwYXR0ZXJuMiA9ICJUR0NBR1RBIgoKbWF0Y2hlcyA9IGdyZWdleHByKHBhdHRlcm4yLCBnZW5lX3NlcSkKbWF0Y2hlcyA9IHVubGlzdChtYXRjaGVzKQptYXRjaGVzCgptYXRjaGVzID0gZ3JlZ2V4cHIocGF0dGVybjEsIGdlbmVfc2VxKQptYXRjaGVzID0gdW5saXN0KG1hdGNoZXMpCm1hdGNoZXMKYGBgCgoKIyMgU3BsaXQKYGBge3J9CmdlbmVfc2VxID0gIkdUQUNBVEdDQUdULEFDQVRHLENBR1RBQ0FULEdDQUdUQUNBVEdDQUcsVEFDQVRHQyxBR1RBQ0FUR0NBIgpnZW5lX3ZlYyA9IHN0cnNwbGl0KGdlbmVfc2VxLCBzcGxpdCA9ICIgLCAiKQpnZW5lX3ZlYwoKZ2VuZV9zZXEgPSAiR1RBQ0FUR0NBR1QgQUNBVEcgQ0FHVEFDQVQgR0NBR1RBQ0FUR0NBRyBUQUNBVEdDIEFHVEFDQVRHQ0EiCmdlbmVfdmVjID0gc3Ryc3BsaXQoZ2VuZV9zZXEsIHNwbGl0ID0gIiAiKQpnZW5lX3ZlYwoKYGBgCgojIyBSZXZlcnNlCmBgYHtyfQpsaWJyYXJ5KHN0cmluZ2kpCmdlbmVfc2VxID0gIkdUQUNBVEdDQUdUIgpyZXZfZ2VuZV9zZXEgPSBzdHJpX3JldmVyc2UoZ2VuZV9zZXEpCnJldl9nZW5lX3NlcSAKCgpsaWJyYXJ5KHN0cmluZ2kpCmdlbmVfc2VxID0gIlRoaXMgaXMgYSBjYXQiCnJldl9nZW5lX3NlcSA9IHN0cmlfcmV2ZXJzZShnZW5lX3NlcSkKcmV2X2dlbmVfc2VxIApgYGAKCgoKIyMgdmVjdG9yCmBgYHtyfQphZ2VzID0gYygyNSwgNDUsIDI0LCA2NywgNTAsIDQwKQpzY29yZSA9IGMoMTAwLCA3MCwgOTAsIDUwLCA1NSwgNzkpCgpgYGAKCiMjIEluZGV4CmBgYHtyfQphZ2VzWzRdCnNjb3JlWzFdCmBgYAojI3JlbW92ZQpgYGB7cn0KYWdlc1stNF0KCmBgYApgYGB7cn0KYWdlcyA9IGFnZXNbLTRdCmFnZXMKYGBgCgoKCg==