r - 如何仅计算 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
会更好,但是,我不知道该怎么做。您对如何解决这个问题有任何想法吗?
解决方案
试试这个DF
输入数据框在哪里:
ifelse(rowSums(is.na(DF)) > ncol(DF)/2, NA, rowMeans(DF, na.rm = TRUE))
推荐阅读
- r - 努力理解通过减法应用于两个数组的“外部”结果被用作矢量化 FUN
- css - 无法将 css 样式应用于嵌入在 div 标签中的 svg 图像。?
- javascript - Array.from() 和 Array.apply() 有什么区别?
- json - 通过方法 ruby 在大 json 对象中进行 Deep_search
- php - 从 CURL 到 PHP Curl 的转换
- google-bigquery - 我无法查询 Google BigQuery 表中的重复字段
- c# - 使用 iText7 将撤销信息添加到签名中
- linux - Bluez blotoothctl 扫描与 hcitool 扫描
- javascript - 在对象数组中查找所有匹配的 id
- sql-server - 创建从多个表中删除数据的过程。SQL 服务器