【发布时间】:2017-08-09 03:44:05
【问题描述】:
我有一个 data.frame,想计算用户的相关性和不同体育赛事的评分。在像 Java 这样的编程语言中,我可能会使用两个 for 循环来创建我的新数据框或集合。我想在 R 中有更舒适的方法来实现这一点?
使用 read.csv(myfilename.csv) 读取到 data.frame 的 CSV 文件的内容:
id;User als userName;Event als EventName;RatingDate;RatingValue;
01;joba;Fußball;2017-05-18 16:10;5;
02;joba;Volleyball;2017-05-18 16:11;4;
03;joba;Nordic-Walking;2017-05-18 16:12;2;
04;joba;Yoga;2017-05-18 16:13;1;
05;joba;Kraftsport;2017-05-18 16:14;3;
06;mamu;Fußball;2017-05-18 16:10;5;
07;mamu;Volleyball;2017-05-18 16:11;3;
08;mamu;Nordic-Walking;2017-05-18 16:12;3;
09;mamu;Yoga;2017-05-18 16:13;2;
10;mamu;Kraftsport;2017-05-18 16:14;3;
11;ermu;Fußball;2017-05-18 16:10;1;
12;ermu;Volleyball;2017-05-18 16:11;2;
13;ermu;Nordic-Walking;2017-05-18 16:12;4;
14;ermu;Yoga;2017-05-18 16:13;4;
15;ermu;Kraftsport;2017-05-18 16:14;1;
如您所见,第 2 列有一个 userName,第 3 列有一个 eventName。此外,最后一列有一个评级值。现在我需要根据用户的评分创建用户相似度之间的相关性,即
x = c(5,4,2,1,3); # joba
y = c(5,3,3,2,3); # mamu
z = c(1,2,4,4,1); # ermu
# Korrelation joba-mamu
dfxy = data.frame(x,y);
dfxz = data.frame(x,z);
resxy = cor(dfxy, method = "pearson");
resxz = cor(dfxz, method = "pearson");
当然,向量需要排序并与同一种事件相关。我想知道从未排序的数据中获取相关计算所需向量的最佳方法是什么?
最好的问候, 乔辰
【问题讨论】:
标签: r