处理估计网络中的分类数据以进行网络分析

问题描述 投票:0回答:0

我是 R 的新手,我很抱歉这是一个基本的问题。

我在 Excel 工作表中组织了数据,受试者编码为“Subject001”、“Subject 020”等,性别编码为 M/F。已经有一个单独的列,其中虚拟数字已分配给他们的性别,1 到 M 和 2 到 F.

我正在尝试用代码进行网络分析

network <- estimateNetwork(mydf, default = "EBICglasso", corMethod = "spearman")

但收到错误消息

x
must be numeric.

所以我尝试使用将字符串值更改为整数

cols.num <- c("SubjectID", "Sex")
mydf_healthy[cols.num] <- sapply(mydf_healthy[cols.num], as.numeric)
ssapply(mydf_healthy, class)

但是当我尝试运行网络分析代码时,我收到消息

qgraph::EBICglasso 用于 EBIC 模型选择 - 使用格拉索::格拉索 eigen(corMat) 中的错误:'x' 中的无限值或缺失值 此外:有 50 个或更多警告(使用 warnings() 查看前 50 个)

我看到我在 Subject 和 Sex 列中的字符串数据已经变成 NA.

有人能帮我吗?

已编辑:这是 mydf_healthy 输出的前五行和前五列

X SubjectID 性别 年龄 TestScore1

1 Sub_001 米 28 11

2 Sub_015 米 55 13

3 Sub_023 f 75 30

4 Sub_045 米 37 29

5 Sub_046 f 40 29

TestScore1 列之后的所有列仅包含不同测试分数的数值。只有 SubjectID 和 Sex 是非数字的。 X 没有任何意义,这是自动编号。我需要保留主题 ID 以了解最终网络分析指的是哪个主题。

数值的性质也不同:年龄仅代表参与者的实际年龄,但在所有后续列中,这些都是测试分数。这些需要区别对待吗?

非常感谢。

r network-analysis
© www.soinside.com 2019 - 2024. All rights reserved.