R计算GU分组中位生存月数返回NA及警告的解决方法
错误原因
你收到该警告且返回NA的核心原因是Survival.months字段存在字符串类型的unknown取值,导致整列被R识别为字符型而非数值型,median()函数无法对字符类数据执行统计计算,因此返回了NA结果。
解决方法
你可以按照以下两步操作完成计算:
- 第一步:将
Survival.months列转换为数值型,转换过程中unknown取值会被自动转为缺失值NA# 转换字段类型,该步骤出现的强制转换警告属于正常提示,可忽略 classifyforblack$Survival.months <- as.numeric(classifyforblack$Survival.months) - 第二步:计算目标分组中位数时添加
na.rm = TRUE参数,自动忽略缺失值完成统计median(classifyforblack$Survival.months[classifyforblack$newcolumn == 'GU'], na.rm = TRUE)
如果你不想修改原数据集的字段类型,也可以直接在计算语句中嵌套转换逻辑,一步得到结果:
median(as.numeric(classifyforblack$Survival.months[classifyforblack$newcolumn == 'GU']), na.rm = TRUE)
可选校验步骤
如果你需要确认除了unknown之外是否存在其他异常非数值取值,可以运行以下代码查看所有会被转为NA的取值:
classifyforblack$Survival.months[is.na(as.numeric(classifyforblack$Survival.months))]
内容的提问来源于stack exchange,提问作者kirellos said
相关产品推荐
相关产品推荐

