R 比较两个向量的分布

R 比较两个向量的分布,r,testing,vector,histogram,similarity,R,Testing,Vector,Histogram,Similarity,我有5个不同的向量,然后是一个我想比较它们的向量。我需要的是从5个不同的向量中得到最相似的向量 向量很长,所以我只展示一点: # Vector to compare to: v1 <- c(0.2500, 0.4375, 0.1250, 0.3125, 0.0000, 0.5625, 0.1250, 0.1875, 0.1875, 0.1875, 0.1875) # One of vectors to compare v2 <- c(2, 1, 0, 1, 1, 1, 1, 0,

我有5个不同的向量,然后是一个我想比较它们的向量。我需要的是从5个不同的向量中得到最相似的向量

向量很长,所以我只展示一点:

# Vector to compare to:
v1 <- c(0.2500, 0.4375, 0.1250, 0.3125, 0.0000, 0.5625, 0.1250, 0.1875, 0.1875, 0.1875, 0.1875)

# One of vectors to compare
v2 <- c(2, 1, 0, 1, 1, 1, 1, 0, 2, 1, 2)

# Another of vectors to compare: 
v3 <- c(5, 0, 3, 1, 1, 2, 1, 2, 0, 1, 2)
要比较的向量:
v1我不清楚,如果你只想计算哪一个最接近,为什么你需要一个统计测试。下面我只是直接计算直方图并比较它们的距离

生成数据:

v1 <- c(0.2500, 0.4375, 0.1250, 0.3125, 0.0000, 0.5625, 0.1250,
   0.1875, 0.1875, 0.1875, 0.1875)
v2 <- c(2, 1, 0, 1, 1, 1, 1, 0, 2, 1, 2)*0.1
v3 <- c(5, 0, 3, 1, 1, 2, 1, 2, 0, 1, 2)*0.1

结果匹配(即v3比v2更接近v1)

我投票将其迁移到CrossValidated,因为这是一个关于适当的统计过程的问题,而不是一个编程问题。我发现此链接可能对您有所帮助。
vList <- list(v1,v2,v3)
brkvec <- seq(0,0.7,by=0.1)
hList <- lapply(vList,function(x)
     hist(x,plot=FALSE, breaks=brkvec)$counts )
dmat <- dist(do.call(rbind,hList))
dvec <- as.matrix(dmat)[-1,1]
##        2        3 
## 7.874008 6.000000 
ks.dist <- sapply(vList[-1],
        function(x) suppressWarnings(ks.test(v1,x)$statistic))
ks.dist
##         D         D 
## 0.6363636 0.4545455