使用DiagrammeR 绘制路径图(SEM)

2023-11-30

我正在测试新的DiagrammeR 包用于结构方程模型可视化的功能。

My goal is, to get a plot like this: enter image description here

Perhaps I need to find a ressource on how to specify the orientation of edges and nodes, because - with DiagrammeR - I can only do a plot like this right now: enter image description here

devtools::install_github('rich-iannone/DiagrammeR')
library('DiagrammeR')

#----------

test<-grViz("     
digraph CFA{

# latent variables
node [shape=circle]
latent_a [group='a']; 
latent_b [group='b'];

#regressions
latent_a -> latent_b [label='0.279'];

#measurement model for latent a
subgraph A{
node [shape=box]
ind_1; 
ind_2; 
ind_3; 
latent_a -> ind_1 [label='0.636'];
latent_a -> ind_2 [label='0.825'];
latent_a -> ind_3 [label='0.829'];
}

#measurement model for latent b
subgraph B{
node [shape=box]
ind_4 ; 
ind_5 ;
latent_b -> ind_4 [label='1.027'];
latent_b -> ind_5 [label='0.626'];
}

#residuals
node [shape=circle]
e1 ; 
e4 ;
e5 ;
e6 ;
e1 -> ind_1;
e4 -> ind_4;
e5 -> ind_5;
e6 -> latent_b;

#residual covariances
ind_1 -> ind_2 [dir=both];
}      
")
test

我将不胜感激任何提示。

PS:也许我的DiagrammeR-代码看起来很有趣。我尝试以同样的方式编写它,模型是在 lavaan 中指定的。也许将来会有一种方法可以在两个包之间进行翻译。我想,这可能是可能的。


我想出了一些需要手动操作的东西,但我确信可以通过创建适当的 R 函数来生成 DOT 代码。这是手动解决方案:

devtools::install_github("rich-iannone/DiagrammeR")
library(DiagrammeR)

grViz("
digraph SEM {

graph [layout = neato,
       overlap = true,
       outputorder = edgesfirst]

node [shape = rectangle]

a [pos = '-4,1!', label = 'e1', shape = circle]
b [pos = '-3,1!', label = 'ind_1']
c [pos = '-3,0!', label = 'ind_2']
d [pos = '-3,-1!', label = 'ind_3']
e [pos = '-1,0!', label = 'latent a', shape = ellipse]
f [pos = '1,0!', label = 'latent b', shape = ellipse]
g [pos = '1,1!', label = 'e6', shape = circle]
h [pos = '3,1!', label = 'ind_4']
i [pos = '3,-1!', label = 'ind_5']
j [pos = '4,1!', label = 'e4', shape = circle]
k [pos = '4,-1!', label = 'e5', shape = circle]

a->b
e->b [label = '0.6']
e->c [label = '0.6']
e->d [label = '0.6']

e->f [label = '0.321', headport = 'w']
g->f [tailport = 's', headport = 'n']

d->c [dir = both]

f->h [label = '0.6', tailport = 'ne', headport = 'w']
f->i [label = '0.6']

j->h
k->i

}
")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用DiagrammeR 绘制路径图(SEM) 的相关文章

  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 如何为自定义 S3 类实现提取/取子集 ([ [<-, [[ [[<-)] 函数?

    我有一个自定义的 S3 类foo 它在正常的基础上添加了一些自定义行为data frame foo object lt data frame class foo object lt c foo data frame 对于这个类 还应该有一个
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • 更改 R 中 ggplot geom_polygon 的颜色方案

    我正在使用地图库和 ggplot 的 geom polygon 创建地图 我只是想将默认的蓝色 红色 紫色配色方案更改为其他颜色 我对 ggplot 非常陌生 所以如果我没有使用正确的数据类型 请原谅 我使用的数据如下所示 gt head
  • R 数据结构的运算效率

    我想知道是否有任何关于操作效率的文档R 特别是那些与数据操作相关的 例如 我认为向数据框添加列是有效的 因为我猜您只是向链接列表添加一个元素 我想添加行会更慢 因为向量保存在数组中C level你必须分配一个新的长度数组n 1并将所有元素复
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP
  • 如何从 R 中的多列中获取计数?

    我有一个包含三列的数据框 State1 State2 State3 有没有一种方法可以使用所有三列 最好使用 dplyr 并且没有显式循环 来获取一个数据帧中每个状态的计数 我只知道如何做一栏 df gt group by State1 g
  • tidyverse - 将命名向量转换为 data.frame/tibble 的首选方法

    使用tidyverse我经常面临将命名向量转换为向量的挑战data frame tibble列是向量的名称 执行此操作的首选 tidyverse 方式是什么 编辑 这与 this https github com hadley dplyr
  • 将动物园转换为数据框

    我转换了一个zoo time series到数据框中R日期成为数据框的索引 有没有办法将日期表示为数据框中的普通列 monthly df lt data frame monthly zoo head monthly zoo head mon
  • 如何使用合并或替换来更新 R 中具有多列的表

    我想做一些与这个问题非常相似的事情 如何使用 merge 更新 R 中的表 https stackoverflow com questions 3190118 how to use merge to update a table in r
  • 聚合函数在数据框中创建不需要的向量

    我在函数中创建数据帧时遇到了一个奇怪的问题 但是 在 data frame 之外使用相同的方法效果很好 这是基本函数 我用它来计算数据集的平均值 标准差和标准误差 aggregateX lt function formula dataset
  • 用于安装 R 软件包的备用编译器:clang:错误:不支持的选项“-fopenmp”

    我正在尝试在 OS X 10 11 6 上使用 R 版本 3 4 0 安装 rJava 包 install packages rJava type source 我收到以下错误 clang o libjri jnilib Rengine o
  • autoplot.microbenchmark 实际绘制了什么?

    根据文档 microbenchmark autoplot 使用 ggplot2 生成更清晰的微基准计时图 凉爽的 让我们尝试一下示例代码 library ggplot2 tm lt microbenchmark rchisq 100 0 r

随机推荐

  • 在 .NET 中获取执行 exe 路径的最佳方法是什么?

    从位于 c dir 的程序 a exe 中 我需要打开文本文件 c dir text txt 我不知道 a exe 位于何处 但 text txt 将始终位于同一路径中 如何从程序本身中获取当前正在执行的程序集的名称 以便我可以访问文本文件
  • 如果出现错误,如何更改图像来源?

    为什么下面的语句会抛出错误 Idea 显示来自普通 URL 的图像 如果未找到 404 则显示后备图像 完工 img height 200px class card img top 抛出错误 Parser Error Unexpected
  • C read() 线程安全吗?

    我正在编写一个程序 其中多个线程可能同时从文件中读取 没有线程写入该文件 但它们可能各自将其内容复制到单独的内存段 为了实现这一点 我需要使用一个 API 为我想要读取的文件提供一个文件描述符 我正在用 C 读取文件的块read功能 手册页
  • 如何在 ASP.Net 中实现自定义音频验证码

    我们使用 C Net 创建了一个自定义验证码生成器 现在我们需要升级我们的验证码以包含音频功能 听验证码 我们的主要限制是我们不能使用任何第三方组件 Dll 请指导我实现此类功能 提前致谢 我过去做过类似的事情 需要将背景噪音 器乐 与连接
  • 如何以编程方式在 WPF 中绘制箭头?

    我需要以编程方式在 WPF 中绘制箭头 我记得 Windows 窗体添加了原语来绘制箭头 设置Cap to the Pen mMyPen CustomEndCap new AdjustableArrowCap arrowSize arrow
  • 下拉列表应仅显示显示成员

    我已经绑定了一个集合ultracombo我已经指定了value member and display member 集合有很多列 现在我必须在显示中只显示一列 并将一列分配给value member 现在我看到了所有columns在集合中显
  • 如何使用类加载器从服务器加载类文件到客户端

    我有 nio 通道 我的客户端应该从服务器计算机加载类文件 它们的IP范围相同 我有两个在服务器和客户端计算机上常见的接口 以及在服务器计算机上实现接口的类 我在我的客户端机器上使用以下代码 但是当我运行它时会出现ClassNotFound
  • ` 获取值?' aria-label='如何使用字符串作为键从 `HashMap::<&'static str, u32>` 获取值?'> 如何使用字符串作为键从 `HashMap::<&'static str, u32>` 获取值?

    With a HashMap lt static str u32 gt 我如何从拥有的值中获取值String 操场 use std collections HashMap fn main let mut map HashMap lt sta
  • 环境特定配置文件中未定义配置

    当我在本地启动服务器时 我收到以下通知 please set config active support deprecation to log at config environments development rb 当我添加 confi
  • 有没有更好的方法根据文件类型映射命令调用[重复]

    这个问题在这里已经有答案了 从 Notepad 和 Notepad 切换到 vim 后 我才开始接触 vim 但在过去的四个月里我一直只使用它 在我的 vimrc 中 我有一个命令可以根据文件扩展名自动更改命令调用 例如 如果我正在编辑 R
  • C#中如何查找数组的众数? [复制]

    这个问题在这里已经有答案了 我想找到数组中的众数 我知道我必须执行嵌套循环来检查每个值并查看数组中元素出现的频率 然后我必须计算第二个元素出现的次数 下面的代码不起作用 请任何人帮助我 for int i 0 i lt x length i
  • Python 2.7 __init__() 仅接受 2 个参数(给定 3 个)

    我有这些课程 Person是父类并且Student是子类 class Person object def init self name self name name class Student Person def init self av
  • 不考虑缺失值的多个文件的平均值

    我想计算 15 个文件的平均值 ifile1 txt ifile2 txt ifile15 txt 每个文件的列数和行数相同 但其中一些缺少值 部分数据看起来像 ifile1 txt ifile2 txt ifile3 txt 3 1 2
  • 使用 Jsoup Java 登录

    如何通过jsoup登录 table border 0 cellpadding 8px tbody tr td align left span style font size 13pt Nome utente span td td align
  • 在asp .net C#中获取返回确认popbox值

    如何获取确认框中按下的值 C Button2 Attributes Add onclick return confirm proceed
  • 如何使用unix命令编辑csv文件中的特定列?

    我想编写一个脚本 每天将新列添加到 csv 工作表中 该脚本将每天运行并将附加到 csv 文件 现在如何编辑 csv 文件 将通过 awk 或 sed 命令进行编辑 我将使用此 csv 文件向用户发送邮件 并将在 Excelsheet 中使
  • 在 Geopandas 中编辑颜色条(图例)?

    我想用我正在创建的 geopandas 世界分区统计 图中的颜色条编辑多个内容 即大小 以便它大致匹配地图本身 文本大小 当前显示太小 我还想为其添加一个标签 通过阅读一些内容 似乎没有简单的方法可以在 geopandas 中明确地做到这一
  • 过滤可以添加到文本框的字符

    我的表单上有一系列文本框 我的客户希望我过滤掉不允许的字符 例如name字段中不能有符号或数字 现在 他想要它 这样当您尝试输入特殊字符时 它就不会被输入到文本框中 我知道这一点的逻辑 但我不确定如何对其进行编码 基本上需要发生的是当用户输
  • Rails 5 - 多个外键属于同一个表

    我有一个属于 LoadingStation 模型的订单模型 并且 LoadingStation 将在 Order 表中使用两次 所以它看起来像 class CreateLoadingStations lt ActiveRecord Migr
  • 使用DiagrammeR 绘制路径图(SEM)

    我正在测试新的DiagrammeR 包用于结构方程模型可视化的功能 My goal is to get a plot like this Perhaps I need to find a ressource on how to specif