These exercises cover the matrices sections of Introduction to R.

Exercise 1

geneNames <- c("Gene_1", "Gene_2", "Gene_3","Gene_4")
expression <- c(1000, 3000, 10000, 12000)
geneLengths <- c(100, 3000, 200, 1000)
geneMatrix <- cbind(expression,geneLengths)
rownames(geneMatrix) <- geneNames
geneMatrix
##        expression geneLengths
## Gene_1       1000         100
## Gene_2       3000        3000
## Gene_3      10000         200
## Gene_4      12000        1000
lne <- geneMatrix[,"expression"]/geneMatrix[,"geneLengths"]
geneMatrix <- cbind(geneMatrix,lne)
geneMatrix
##        expression geneLengths lne
## Gene_1       1000         100  10
## Gene_2       3000        3000   1
## Gene_3      10000         200  50
## Gene_4      12000        1000  12
smallGeneMatrix <- geneMatrix[geneMatrix[,"geneLengths"] > 200,]
smallGeneMatrix
##        expression geneLengths lne
## Gene_2       3000        3000   1
## Gene_4      12000        1000  12
smallGeneMatrix <- geneMatrix[geneMatrix[,"geneLengths"] > 200 & geneMatrix[,"expression"] > 200,c("expression","lne")]
smallGeneMatrix
##        expression lne
## Gene_2       3000   1
## Gene_4      12000  12
expressionSum <- sum(geneMatrix[geneMatrix[,"geneLengths"] > 100,"expression"])
geneLengthSum <- sum(geneMatrix[geneMatrix[,"geneLengths"] > 100,"geneLengths"])
#OR
expressionAndGeneLengthSum <- colSums(geneMatrix[geneMatrix[,"geneLengths"] > 100,c("expression","geneLengths")])
expressionAndGeneLengthSum
##  expression geneLengths 
##       25000        4200