如何仅对NA <1的项目计算总得分。 50%

时间:2018-05-23 11:22:44

标签: r na psych

我对R很新,我正在尝试计算心理测试的子分数(例如PedsQL),并且不知道如何创建关于NA的作者关于以下条件的子分数:

“如果超过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函数,但它无效。可能for-if-loop会更好,但是,我不知道怎么做。 你对如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用DF作为输入数据框:

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