我对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
会更好,但是,我不知道怎么做。
你对如何解决这个问题有任何想法吗?
答案 0 :(得分:0)
尝试使用DF
作为输入数据框:
ifelse(rowSums(is.na(DF)) > ncol(DF)/2, NA, rowMeans(DF, na.rm = TRUE))