微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R fastLink 包将 m 和 u prob 插入 emlinkMARmov

如何解决R fastLink 包将 m 和 u prob 插入 emlinkMARmov

尝试使用 R fastLink 包并在 emlinkMARmov 函数中插入概率的起始值。

结果是运行emlinkMARmov时出错。特别是如果我运行该函数

  1. 1-4 个概率值,这是结果

p.gamma.k.m[[i]] : 下标越界

  1. 5 个或更多值,结果为

p.gamma.k.m[[i]] *vtmP* 中的错误:提供的元素多于 有替换

根据此处 https://github.com/tedenamorado/fastLink 的文档,我需要输入长度 = # of links 字段的向量。这意味着 5。所以不知道为什么该函数不能在 pgammakm 中使用 5 个值?

下面的代码..

library('RecordLinkage')
RLdata10000$trueid <- identity.RLdata10000
RLdata10000$id <- 1:nrow(RLdata10000)

library('fastLink')
library(tidyverse)

## Create Agreement Vectors
g1 <- gammaCKpar(RLdata10000$fname_c1,RLdata10000$fname_c1,cut.a = 0.94,cut.p = 0.88)
g2 <- gammaCKpar(RLdata10000$lname_c1,RLdata10000$lname_c1,cut.p = 0.88)
g3 <- gammaKpar(RLdata10000$by,RLdata10000$by)
g4 <- gammaKpar(RLdata10000$bm,RLdata10000$bm)
g5 <- gammaKpar(RLdata10000$bd,RLdata10000$bd)
nr <- nrow(RLdata10000)

## Count Patterns + EM
counts <- tableCounts(list(g1,g2,g3,g4,g5),nobs.a = nr,nobs.b = nr)
# Put in starting positions for m and u for features to influence outcome
pgammakm = c(1.331910971833257e-14,4.683960094033817e-03,4.112060625003156e-02,1.432229262705961e-02,4.692862863782486e-02)     #probability that conditional on being in the matched set,we observed a specific agreement
pgammaku = c(0.986035579798584805,0.973281071443571011,0.987948005162691989,0.916094176950708938,0.966858439069919084)    #probability that conditional on being in the unmatched set,we observed a specific agreement value for field k

resEM <- emlinkMARmov(counts,nobs.b = nr,p.gamma.k.m=pgammakm,p.gamma.k.u = pgammaku )

## Matches
matches <- matchesLink(list(g1,em = resEM,thresh = 0.98)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。