微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ggpairs错误:cor.test.defaultx,y,method = method,use = use错误:有限的观测值不足

如何解决ggpairs错误:cor.test.defaultx,y,method = method,use = use错误:有限的观测值不足

我正在尝试使用软件包Ggallyggpairs创建散点图矩阵。在我的数据集tol中,我有几个分类的人口统计变量,几个是连续的。我用所需的变量创建了一个数据框,并尝试省略NA值,因为我不断收到此错误

cor.test.default(x,y,method = method,use = use)中的错误:不是 足够的有限观测”

当我不包括美学贴图时,散点图就可以正常工作。即使我弄乱了csv文件以确保没有空单元格,我仍然会收到此错误

代码如下:

cs <- tol[c("location","comp_sat_avg","burnout_avg","sec_stress_avg","burnout_ee_avg","burnout_dp_avg","burnout_pa_avg","obs_avg","desc_avg","aware_avg","nonjudg_avg","nonreac_avg","wkplre_wc_avg","Efficacy_avg","Lotr_avg","hsecontrol_avg","hsemsupport_avg","hsepsupport_avg","hserole_avg","hsedemands_avg")]
csdata <- na.omit(cs)

ggpairs(csdata,lower=list(continuous="smooth"),mapping=ggplot2::aes(color= location)) +
  theme_bw()

我还需要对其他三个类别变量进行分组,因此非常感谢您的帮助。

每位Stefan的评论都来自我的数据集示例:

tol  <- structure(list(location = c("Mukono Health Center IV","Mukono Health Center IV","Goma Health Center III","Kawolo General Hospital","Lwanyonyi VHT","Lwanyonyi VHT"
),comp_sat_avg = c(4.6,4.9,4.4,4.2,3.7,3,4.3,3.8,2.8,3.9,4.7,3.22,4.6,1.8,4.67,4.8),burnout_avg = c(2.2,3.2,2.1,2.7,3.4,3.11,2.4,2.6,2.5,2.89,2,2.78,3.5,2.56,2.1),sec_stress_avg = c(2.6,1.4,2.44,3.1,3.33,1.9,1.5,2.6),burnout_ee_avg = c(2.11,2.33,2.67,1.22,1,1.78,4.33,1.11,1.67,5.89,0.78),burnout_dp_avg = c(1.6,0.4,1.2,0.75,0.6,5.6,1.6,0.4),burnout_pa_avg = c(5.13,5.75,4.75,2.88,5.25,5,5.5,4.88,4.5,3.75,4.13,3.13,4,5.88),obs_avg = c(3.63,3.25,4.38,2.38,2.13,2.75,4.63,3.88,2.14,3.83,2.25,2.63,3.88),desc_avg = c(3,3.38,3.63,4.25,2.57,3.38),aware_avg = c(2.5,3.57,3.25),nonjudg_avg = c(1.88,1.88,1.86,1.63),nonreac_avg = c(3.71,2.43,4.29,3.43,3.86,2.86,3.14,4.43,3.71,3.43),wkplre_wc_avg = c(5.07,6.13,5.8,5.27,6.2,4.07,7,6.27,2.29,5.14,4.73,5.47,5.07,4.93,3.07,5.73,Efficacy_avg = c(4,3.6,2.9,3.3,3.9),Lotr_avg = c(2.17,0.5,2.17,3.67,1.17,1.83,2.83,3.5),hsecontrol_avg = c(3.67,3.17,4.17,3.17),hsemsupport_avg = c(3.6,3.8),hsepsupport_avg = c(3.25,4),hserole_avg = c(4.8,4.8,5),hsedemands_avg = c(2,3.29,1.71,2.71,2.57)),row.names = c(NA,-20L),class = c("tbl_df","tbl","data.frame"),na.action = structure(c(`1` = 1L,`5` = 5L,`11` = 11L,`15` = 15L,`19` = 19L,`24` = 24L,`27` = 27L,`30` = 30L,`46` = 46L,`47` = 47L),class = "omit"))

解决方法

您需要采取两个步骤才能完成这项工作。有两个位置只有两个观察值,这不适用于 cor.test.default。子集您的数据以删除这些观察:

csdata <- 
  csdata %>%
  filter(
    location != "Kawolo General Hospital",location != "Lwanyonyi VHT"
  )

但是,现在您的数据集将保留这些因子级别,但每个级别都有 0 个观察值。使用以下方法将变量 locations 转换为因子:

csdata$location <- factor(csdata$location)

现在你的带有美学映射的 ggpairs 将没有问题:

ggpairs(csdata,lower=list(continuous="smooth"),mapping=ggplot2::aes(color= location)) +
  theme_bw()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。