cuốn sách gpt4 ai đã làm

r - Khoảng cách Kendall tau (còn gọi là khoảng cách sắp xếp bong bóng) giữa các hoán vị trong cơ sở R

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:09:33 26 4
mua khóa gpt4 Nike

Làm cách nào tôi có thể tính khoảng cách Kendall tau (còn gọi là khoảng cách sắp xếp bong bóng) giữa hai hoán vị trong R mà không cần tải thêm thư viện?

câu trả lời hay nhất

Đây là một triển khai O(n.log(n)), được ghép lại với nhau sau khi đọc, nhưng tôi nghi ngờ có thể có giải pháp R tốt hơn.

số đảo ngược <- function(x){
mergeSort <- function(x){
if(length(x) == 1){
đầu vào <- 0
#printind('trường hợp cơ sở')
} khác {
n <- chiều dài(x)
n1 <- trần(n/2)
n2 <- n-n1
y1 <- mergeSort(x[1:n1])
y2 <- mergeSort(x[n1+1:n2])
inv <- y1$inversions + y2$inversions
x1 <- y1$sortedVector
x2 <- y2$sortedVector
i1 <- 1
i2 <- 1
while(i1+i2 <= n1+n2+1){
if(i2 > n2 || (i1 <= n1 && x1[i1] <= x2[i2])){ # ***
x[i1+i2-1] <- x1[i1]
i1 <- i1 + 1
} khác {
inv <- inv + n1 + 1 - i1
x[i1+i2-1] <- x2[i2]
i2 <- i2 + 1
}
}
}
trả về (danh sách(inversions=inv,sortVector=x))
}
r <- mergeSort(x)
trả về (r$đảo ngược)
}

.

kendallTauDistance <- function(x,y){
return(inversionNumber(order(x)[rank(y)]))
}

Nếu bạn cần một bộ ngắt kết nối tùy chỉnh, bạn phải sửa đổi thẻ thành # ***

Điều kiện cuối cùng trong hàng

cách sử dụng:

> kendallTauKhoảng cách(c(1,2,4,3),c(2,3,1,4))
[1] 3

Về khoảng cách Kendall tau (còn gọi là khoảng cách sắp xếp bong bóng) giữa các hoán vị trong r - cơ số R, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20224871/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress