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