我想用visNetwork为我的闪亮应用程序创建一个PAG(父母祖先图)。
为了做到这一点,我必须创建既有圆又有箭头的边。
根据visNetwork软件包,我可以将箭头转换为如下圆圈
visNetwork(nodes, edges) %>%
visEdges(arrows = list(to = list(enabled = TRUE,
scaleFactor = 2, type = 'circle')))
但是我想要一个箭头和一个圆,或者像这张图片一样在一条边上有两个圆
PAG
箭头。从…起键入和箭头。到类型似乎是工作,但我现在我有这个问题。
我想根据邻接矩阵画这个图
所以我有这个密码
i = 1
j = 1
for(i in i:ncol(results))
{
j = i
for(j in j:nrow(results))
{
if(results[j,i]==1)
{
dashBoard = c(dashBoard,TRUE)
colorBoard = c(colorBoard, "green")
if(results[i,j]==1)
{
fromtest <- c(fromtest,Cnames[i])
totest <- c(totest,Rnames[j])
arrfrom <-c(arrfrom,"circle")
arrto<-c(arrto,"circle")
}
else if(results[i,j]==2)
{
fromtest<-c(fromtest,Cnames[i])
totest<-c(totest,Rnames[j])
arrfrom <-c(arrfrom,"circle")
arrto<-c(arrto,"arrow")
}}
除了1,1和1,2之外,所有可能的组合都是这样
最后,边缘打印成这样
edgesprint <-data.frame(from = fromtest,
to = totest,
arrows.from.type=arrfrom,
arrows.to.type=arrto,
dashes = dashBoard,
physics = FALSE,
smooth = FALSE,
width = 3,
shadow = TRUE,
color = list(color = colorBoard, highlight = "red", hover = "green"),
links = links)
这个方法很好用,但有时在不更改任何代码的情况下,我会遇到这个错误
数据错误。框架参数表示不同的行数