首页 > 解决方案 > 如何仅计算 NA < 50% 的项目的总分

问题描述

我对 R 很陌生,我正在尝试计算心理测试的子分数(例如 PedsQL),但不知道如何根据作者关于NA's 的以下条件创建子分数:

“如果超过 50% 的项目缺失,则不应计算量表分数。如果完成了 50% 或更多的项目:在量表上估算已完成项目的平均值。”

例如,一个子分数是包含 8 个项目的物理维度:

d$pedsql_phys = (d$pedsql_1 + d$pedsql_2 + d$pedsql_3 + d$pedsql_4 + d$pedsql_5 + d$pedsql_6 + d$pedsql_7 + d$pedsql_8)/8

我尝试使用包的scoreItems功能psych,但没有成功。可能afor-if-loop会更好,但是,我不知道该怎么做。您对如何解决这个问题有任何想法吗?

标签: rnapsych

解决方案


试试这个DF输入数据框在哪里:

ifelse(rowSums(is.na(DF)) > ncol(DF)/2, NA, rowMeans(DF, na.rm = TRUE))

推荐阅读