使用R包RSiena创建siena数据时协变量报错问题咨询
问题解答
问题1:报错是否由仅2个时间点的数据导致?
是,该报错的直接原因就是你当前仅拥有2个时间点(波次)的观测数据。
问题2:创建时变二元协变量是否需要3个及以上时间点?
是。RSiena中所有类型的时变协变量,包括节点层面的时变协变量varCovar、二元层面的时变协变量varDyadCovar,都要求至少3个波次的观测数据才可使用。
原因是SIENA模型的核心是模拟相邻波次之间的网络演化过程,时变协变量的作用是捕捉不同演化周期内协变量取值变化对网络动态的影响。仅2个波次的情况下只有1个演化周期,无法识别协变量的时间先后效应,不符合时变协变量的建模逻辑。
双波数据的解决方案
你当前只有2个波次的数据,如果需要纳入二元协变量C的影响,可将时间1的C1作为恒定二元协变量纳入模型,修改代码如下:
# 把原来的varDyadCovar改为dyadCovar,使用时间1的C1作为恒定协变量 C <- dyadCovar(C1) # 其余变量定义保持不变 A <- sienaDependent(array(c(A1, A2), dim=c(200, 200, 2))) S <- coCovar(S) Y <- coCovar(Y) P <- sienaDependent(P, type = "behavior" ) N <- sienaDependent(N, type = "behavior" ) # 重新创建数据对象即可正常运行 MyData <- sienaDataCreate(A, S, Y, C, P, N)
如果你的研究假设需要用到C2的信息,可额外补充稳健性检验:使用C2作为恒定协变量重复建模,对比两次结果的一致性。
内容的提问来源于stack exchange,提问作者d.lee
相关产品推荐
相关产品推荐

