Skip to content

Instantly share code, notes, and snippets.

@tautologico
Created December 12, 2011 04:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tautologico/1464803 to your computer and use it in GitHub Desktop.
Save tautologico/1464803 to your computer and use it in GitHub Desktop.
Sistema de recomendação para companheiro de pizza
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment