public
Last active

Sistema de recomendação para companheiro de pizza

  • Download Gist
pizza.R
R
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# Em resposta a
# http://blog.concretesolutions.com.br/2011/12/testinho-numero-2/
 
### Dados (na ordem: Marguerita, 4 queijos, escarola, portuguesa, frango+catupiry, napolitana)
renato <- list(nome='renato', notas=c(4, 5, 4, 5, 4, 3))
marcelo <- list(nome='marcelo', notas=c(2, 2, 1, 3, 5, 2))
lenon <- list(nome='lenon', notas=c(4, 5, 2, 1, 1, 3))
renata <- list(nome='renata', notas=c(4, 5, 1, 1, 3, 4))
washington <- list(nome='washington', notas=c(1, 1, 2, 3, 4, 3))
tino <- list(nome='tino', notas=c(1, 5, 1, 4, 3, 2))
luca <- c(5, 4, 3, 4, 3, 2)
 
# Colecao de todos os dados dos que nao sao == luca
outros <- list(renato, marcelo, lenon, renata, washington, tino)
 
 
### Programa
 
# Calcula correlacoes de Pearson entre luca e os outros
res <- lapply(outros, function(v) list(nome=v$nome, c=cor(luca, v$notas, method='pearson')))
 
# Acha a pessoa com maxima correlacao e coloca o nome em resposta
resposta <- res[[which.max(sapply(res, function(l) l$c))]]$nome

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.