R调用View查看influence.measures结果报错:无法将"infl"类转换为data.frame
问题原因
influence.measures() 返回的是自定义的infl类列表对象,而非纯二维表格结构,对象内同时包含诊断指标数值矩阵、强影响点判断结果等多个子元素,因此无法直接通过as.data.frame()强制转换。
解决方法
你可以分步骤提取所需内容后再传入View()函数,根据你是否需要保留强影响点标记,可选两种方案:
方案1:仅查看所有回归诊断数值指标
直接提取对象内存储数值的infmat子元素转换为数据框即可:
# 先保存影响诊断结果 infl <- influence.measures(model = total_labour_hrs_lm) # 转换为数据框后打开查看器 View(as.data.frame(infl$infmat))
方案2:保留强影响点星号标记列
如果需要和控制台输出一样带*的强影响点标记,可以额外提取is.inf判断结果拼接为新列:
infl <- influence.measures(model = total_labour_hrs_lm) # 拼接数值指标和标记列,是强影响点的位置会显示*,否则为空 infl_df <- cbind( as.data.frame(infl$infmat), 强影响点标记 = ifelse(rowSums(infl$is.inf) > 0, "*", "") ) View(infl_df)
内容的提问来源于stack exchange,提问作者D.C. the III
相关产品推荐
相关产品推荐

