использование функции R в фазе уменьшения
Я пытаюсь найти коэффициент корреляции кадра данных и отлично работаю.
Есть ли проблема с поиском коэффициента корреляции из кадра данных с использованием cor(), или хорошо реализовать этот код для больших данных?
cc = function(input, output = NULL){
cc.map = function(., v)
{
data <- v[-1,]
data[,1:length(data)] = lapply(data[,1:length(data)], as.numeric)
keyval("korelasi",data)
}
cc.reduce =function(k, v )
{
keyval(k, cor(v))
}
mapreduce(
input = input ,
output = output,
input.format = make.input.format("csv",sep=",",fill = TRUE,stringsAsFactors=FALSE),
map = cc.map,
reduce = cc.reduce,
combine = T)}
1 ответ
cor
- это стандартный способ вычисления корреляции в матрице в R. Вы уже делаете это в функции сокращения, поэтому hadoop обработает это для больших наборов данных.