我正在尝试将边列表转换为邻接矩阵。
以下是样本数据:
#Sample Data
User<-c("1","1","2","3","4")
v1 <- c("b", "b", "a", "d", "c")
v2 <- c("c", "d", "c", "a", "a")
v3 <- c(0, 0, "d", 0, "b")
v4 <- c(0, 0, 0, 0, 0)
v5 <- c(0, 0, 0, 0, 0)
my_data<-data.frame(User, v1, v2, v3, v4, v5)
my_data
如果您运行此代码,您将得到以下输出:
User v1 v2 v3 v4 v5
1 b c 0 0 0
1 b d 0 0 0
2 a c d 0 0
3 d a 0 0 0
4 c a b 0 0
使用这些数据,我想要创建一个类似于下面的邻接矩阵:
a b c d
a 0 0 2 2
b 0 0 1 1
c 2 1 0 1
d 2 1 1 0
基本上,所需的输出显示样本数据框中v1~v5列中每个对出现的次数计数。
我尝试使用dils
库中的AdjacencyFromEdgelist
函数,也尝试通过循环遍历数据框来创建一个包含NAs的矩阵壳并填充矩阵。
然而,我都无法使这两种方法起作用。