小编Gar*_*866的帖子

R 中的加权欧几里得距离

我想从数据框创建一个带有加权欧几里得距离的距离矩阵。权重将在向量中定义。下面是一个例子:

library("cluster")

a <- c(1,2,3,4,5)
b <- c(5,4,3,2,1)
c <- c(5,4,1,2,3)
df <- data.frame(a,b,c)

weighting <- c(1, 2, 3)

dm <- as.matrix(daisy(df, metric = "euclidean", weights = weighting))
Run Code Online (Sandbox Code Playgroud)

我到处搜索,在 R 中找不到一个包或解决方案。“集群”包中的“雏菊”函数声称支持加权,但权重似乎没有被应用,它只是吐出来普通欧几里得。距离。

任何想法堆栈溢出?

r cluster-analysis euclidean-distance r-daisy

5
推荐指数
1
解决办法
4684
查看次数

来自两个独立数据帧的距离矩阵

我想创建一个矩阵,其中包含从一个数据帧到另一个数据帧的行的欧几里德距离.例如,假设我有以下数据框:

a <- c(1,2,3,4,5)
b <- c(5,4,3,2,1)
c <- c(5,4,1,2,3)
df1 <- data.frame(a,b,c)

a2 <- c(2,7,1,2,3)
b2 <- c(7,6,5,4,3)
c2 <- c(1,2,3,4,5)
df2 <- data.frame(a2,b2,c2)
Run Code Online (Sandbox Code Playgroud)

我想创建一个矩阵,其中df1中每行的距离与df2的行相距.

因此矩阵[2,1]应该是df1 [2,]和df2 [1,]之间的欧氏距离.矩阵[3,2] df [3,]和df2 [2,]等之间的距离.

有谁知道如何实现这一目标?

r matrix euclidean-distance dataframe

4
推荐指数
1
解决办法
1334
查看次数

R - 具有约束的数据帧的组合

我正在尝试制作幻想足球的R脚本(适当的英国足球,而不是手蛋:-))我可以在csv中输入一个球员列表,它会吐出每个11人组合,满足各种约束.

这是我的示例数据帧:

df <- read.csv("Filename.csv",
               header = TRUE)
    > print(df)
                       Name Positon Team   Salary
    1             Eric Dier       D  TOT  9300000
    2          Erik Pieters       D  STO  9200000
    3       Christian Fuchs       D  LEI  9100000
    4       Héctor Bellerín       D  ARS  9000000
    5       Charlie Daniels       D  BOU  9000000
    6            Ben Davies       D  TOT  8900000
    7    Federico Fernández       D  SWA  8800000
    8       Per Mertesacker       D  ARS  8800000
    9        Alberto Moreno       D  LIV  8700000
    10       Chris Smalling       D  MUN  8700000
    11       Seamus Coleman       D  EVE  8700000 …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
671
查看次数