How to find similarity between different factors in a dataset
One way is to normalize your quantitative  values (play, eat, drink, sleep rates) so they all have the same range (say, 0 -> 1), then assign each game to its own "dimension", that takes value 0 or 1. Turn each row into a vector and normalize the length to 1. Now, you can compare the inner product of any two people's normalized vectors as a measure of similarity. Something like this is used in text mining quite often



R Code for Similarity Matrix

Assumes you've saved your dataframe to the variable "D"

#Get normalization factors for quantitative measures
maxvect&lt;-apply(D[,1:4],MARGIN=2,FUN=max)
minvect&lt;-apply(D[,1:4],MARGIN=2,FUN=min)
rangevect&lt;-maxvect-minvect
#Normalize quantative factors
D_matrix &lt;- as.matrix(D[,1:4])
NormDMatrix&lt;-matrix(nrow=10,ncol=4)
colnames(NormDMatrix)&lt;-colnames(D_matrix)
for (i in 1:4) NormDMatrix[,i]&lt;-(D_matrix[,i]-minvect[i]*rep(1,10))/rangevect[i]
gamenames&lt;-unique(D[,"game"])
#Create dimension matrix for games
Ngames&lt;-length(gamenames)
GameMatrix&lt;-matrix(nrow=10,ncol=Ngames)
for (i in 1:Ngames) GameMatrix[,i]&lt;-as.numeric(D[,"game"]==gamenames[i])
colnames(GameMatrix)&lt;-gamenames
#combine game matrix with normalized quantative matrix
People&lt;-D[,"name"]
RowVectors&lt;-cbind(GameMatrix,NormDMatrix)
#normalize each row vector to length of 1 and then store as a data frame with person names
NormRowVectors&lt;-t(apply(RowVectors,MARGIN=1,FUN=function(x) x/sqrt(sum(x*x))))
dfNorm&lt;-data.frame(People,NormRowVectors)

#create person vectors via addition of appropriate row vectors
PersonMatrix&lt;-array(dim=c(length(unique(People)),ncol(RowVectors)))
rownames(PersonMatrix)&lt;-unique(People)
for (p in unique(People)){
  print(p)
  MatchIndex&lt;-(dfNorm[,1]==p)*seq(1,nrow(NormRowVectors))
  MatchIndex&lt;-MatchIndex[MatchIndex&gt;0]
  nclm&lt;-length(MatchIndex)
  SubMatrix&lt;-matrix(NormRowVectors[MatchIndex,],nrow=length(MatchIndex),ncol=dim(NormRowVectors)[2])
  CSUMS&lt;-colSums(SubMatrix)
  NormSum&lt;-sqrt(sum(CSUMS*CSUMS))
  PersonMatrix[p,]&lt;-CSUMS/NormSum
}
colnames(PersonMatrix)&lt;-colnames(NormRowVectors)
#Calculate matrix of dot products
Similarity&lt;-(PersonMatrix)%*%t(PersonMatrix)