从数据帧R创建加权邻接矩阵
我有一个如下方式的数据框从数据帧R创建加权邻接矩阵,r,networking,adjacency-matrix,R,Networking,Adjacency Matrix,我有一个如下方式的数据框 dat <- data.frame(A=c("D", "A", "D", "B"), B=c("B", "B", "D", "R"), C=c("A", "D", "C", ""), D=c("D", &qu
dat <- data.frame(A=c("D", "A", "D", "B"), B=c("B", "B", "D", "R"), C=c("A", "D", "C", ""), D=c("D", "C", "A", "A"))
在R中,哪种方法最有效?您可以尝试下面的代码
> t(sapply(dat, function(x) table(factor(x, levels = names(dat)))))
A B C D
A 1 1 0 2
B 0 2 0 1
C 1 0 1 1
D 2 0 1 1
或
您可以尝试下面的代码
> t(sapply(dat, function(x) table(factor(x, levels = names(dat)))))
A B C D
A 1 1 0 2
B 0 2 0 1
C 1 0 1 1
D 2 0 1 1
或
另一个选项是使用
table
table(subset(stack(dat), nzchar(values) & values != 'R'))
另一个选项是使用
table
table(subset(stack(dat), nzchar(values) & values != 'R'))
table(subset(stack(dat), nzchar(values) & values != 'R'))