I run a community website with ~1600 users who made 750 000 votes on 100 000 posts. The votes are made on the Likert scale, i.e. from 1 to 5. I want to help users find like-minded people.
After some googling, I found Pearson product-moment correlation coefficient, which is apparently very easy to calculate in R.
For each pair of users, I selected votes that they made on same posts, obtaining as a result a bunch of tables like that:
user1 user2 1 1 5 5 5 5 5 1 5 1 1 1
Now, I can read each table as
mydata = read.table("tablename")
to get the correlation r and significance p.
Then, I am stuck with two questions:
- How to properly order a list of users given r and p? Should I choose a cutoff value of p arbitrarily, then order by descending r?
- Did I choose the best algorithm? What are the alternatives to Pearson's r in this case?