我有一個看起來像這樣的資料框:
Cluster.x Cluster.y
1 5 7
2 4 2
3 4 7
4 4 4
5 1 4
6 4 4
輸入:
structure(list(Cluster.x = c(5L, 4L, 4L, 4L, 1L, 4L), Cluster.y = c(7L,
2L, 7L, 4L, 4L, 4L)), row.names = c(NA, 6L), class = "data.frame")
我現在想知道每個集群與其他集群的配對概率是多少(不管它們是在 x 列還是 y 列,集群 4 始終是同一個集群 4)。給出一些背景資訊:集群是一組國家,我想知道每個集群,它們與其他集群發生沖突的概率(行代表沖突)是多少。誰能指出我正確的方向?
編輯: 我想要的輸出將是一個資料框,其中包含集群的每個組合以及它們在另一列中的相應計數和概率。
uj5u.com熱心網友回復:
對資料進行排序,使編號較低的集群始終位于第一列,然后計算和計算頻率。
df %>%
mutate(Cx = pmin(Cluster.x, Cluster.y),
Cy = pmax(Cluster.x, Cluster.y)) %>%
select(Cx, Cy) %>%
count(Cx, Cy) %>%
mutate(p = n / sum(n))
# Cx Cy n p
# 1 1 4 1 0.1666667
# 2 2 4 1 0.1666667
# 3 4 4 2 0.3333333
# 4 4 7 1 0.1666667
# 5 5 7 1 0.1666667
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/524764.html
上一篇:如何檢查字符向量中的任何字符是否在另一個串列中的任何字符內
下一篇:透視資料框
