это мой фрейм данных a:
ui 194635691 194153563 177382028 177382031 195129144 196972549 196258704 194907960 196950156 194139014 153444738
1 56320e0e55e89c3e14e26d3d 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.000 0 0
2 563734c3b65dd40e340eaa56 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.000 0 0
3 563e12657d4c410c5832579c 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.000 0 0
4 565181854c24b410e4891e11 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.000 0 0
5 5651b53fec231f1df8482d23 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.027 0 0
6 56548df4b84c321fe4cdfb8f 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.000 0 0
7 56549946735e782a885957e6 0.00 0.00 0.00 0.00 0.08 0.00 0.00 0.00 0.000 0 0
8 56549f9bb84c321fe4ce7a37 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.000 0 0
9 5654a35a735e782a8859a053 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.000 0 0
Что я хочу здесь сделать, так это вычислить косинусное сходство между useridvector и каждой строкой кадра данных a, но без первого столбца (ui). До сих пор я пробовал следующий код:
user_id=actions_slippers$ui[i]#user_id is coming from another dataframe called action_slippers
useridvector=a[a$ui %in% user_id, ]
p=as.vector(cosine(t(a[,2:ncol(a)]))[,1])# this measures cosine similarity between first row of dataframe a and each other of rows from dataframe a
но я хочу рассчитать косинусное сходство между useridvector и каждой строкой фрейма данных a без первого столбца. useridvector выглядит так:
ui 194635691 194153563 177382028 177382031 195129144 196972549 196258704 194907960 196950156 194139014 153444738
5651b53fec231f1df8482d23 0 0 0 0 0 0 0 0 0.027 0 0
Может кто подскажет, как это сделать?
1-skmeans::skmeans_xdist(as.matrix(df[, -1]))
илиlsa::cosine(t(as.matrix(df[, -1])))
? Некоторые пакеты R имеют меры косинусного (дис) сходства. Вы можете исключить первый столбец, используяdf[, -1]
, если ваши данные находятся вdf
. - person lukeA   schedule 29.12.2015