Если под «дисперсией» вы подразумеваете отличия строк от «стандартной строки» (как предложено в цикле for), то один из способов получить это - использовать apply
res <- apply( x, 1, "-", Temp.means)
может быть превращен в функцию:
row.variation.from.std <- function (mat, std){
apply( mat, 1, "-", std) }
Я подозреваю, что использование вами слова «дисперсия» вводит в заблуждение некоторых потенциальных респондентов, которые предположили, что вы имели в виду понятие, как это слово определено в статистической практике.