问题描述
当我使用带有 dm
的 dm_draw()
包绘制我的数据库的 ER 图时,它绘制了 10 个堆叠在单个列中的表,并将带有主键的表放入另一列:
suppresspackageStartupMessages(library(tidyverse))
suppresspackageStartupMessages(library(dm))
Everybody <- tibble(project = 27,who = 1)
Demographics <- tibble(project = 27,who = 1,Age = 1,Sex = "x",Education = "some")
Psychiatric <- tibble(project = 27,who = 1)
Randomization <- tibble(project = 27,when = 1)
Site <- tibble(project = 27,site = 1)
ASI <- tibble(project = 27,score = 1)
RBS <- tibble(project = 27,score = 1)
TLFB <- tibble(project = 27,when = 1,what = "drug")
UDS <- tibble(project = 27,what = "drug")
Treatment <- tibble(project = 27,what = "drug",amount = 1)
Withdrawl <- tibble(project = 27,severity = 1)
nokeys <- dm(ASI,Demographics,Everybody,Psychiatric,Randomization,RBS,Site,TLFB,Treatment,UDS,Withdrawl)
primary <- nokeys %>%
dm_add_pk(table = Everybody,columns = who)
allKeys <- primary %>%
dm_add_fk(table = Demographics,column = who,ref_table = Everybody) %>%
dm_add_fk(table = Psychiatric,ref_table = Everybody) %>%
dm_add_fk(table = Randomization,ref_table = Everybody) %>%
dm_add_fk(table = Site,ref_table = Everybody) %>%
dm_add_fk(table = ASI,ref_table = Everybody) %>%
dm_add_fk(table = RBS,ref_table = Everybody) %>%
dm_add_fk(table = TLFB,ref_table = Everybody) %>%
dm_add_fk(table = UDS,ref_table = Everybody) %>%
dm_add_fk(table = Treatment,ref_table = Everybody) %>%
dm_add_fk(table = Withdrawl,ref_table = Everybody)
allKeys %>%
dm_draw(view_type = "all")
有什么方法可以指定我想要两列,每列显示五个表。 dm_draw()
的文档指出它返回一个 grViz
对象。我尝试将 dm_draw
的输出保存为对象,但我不知道如何让 DiagrammeR
绘制对象。我猜理论上我可以使用 DiagrammeR 来指定位置详细信息,但我一无所知......
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)