Tôi có một danh sách các vectơ:Intersect tất cả các kết hợp có thể có của các yếu tố danh sách
> l <- list(A=c("one", "two", "three", "four"), B=c("one", "two"), C=c("two", "four", "five", "six"), D=c("six", "seven"))
> l
$A
[1] "one" "two" "three" "four"
$B
[1] "one" "two"
$C
[1] "two" "four" "five" "six"
$D
[1] "six" "seven"
Tôi muốn tính toán chiều dài của sự chồng chéo giữa tất cả các kết hợp cặp có thể có của các yếu tố danh sách, tức là (định dạng về kết quả không quan trọng):
AintB 2
AintC 2
AintD 0
BintC 1
BintD 0
CintD 1
tôi biết combn(x, 2)
thể được sử dụng để có được một ma trận của tất cả pairwi thể se kết hợp trong một vector và rằng length(intersect(a, b))
sẽ cho tôi chiều dài của sự chồng chéo của hai vectơ, nhưng tôi không thể nghĩ ra một cách để đặt hai thứ lại với nhau.
Bất kỳ trợ giúp nào được đánh giá cao! Cảm ơn.
Lưu ý đối với độc giả: 'stack' cần tên nếu bạn đang cố gắng để sử dụng nó với 'list's. – A5C1D2H2I1M1N2O1R2T1
Đây là một giải pháp rất hiệu quả! – Helix123
Điều này thật thanh lịch !! –