我正在研究几个小型数据集,每个数据集200-250个。我有兴趣分析每个数据集的特定列中包含的Likert量表(六点)数据。我感兴趣的变量被命名为'有效性','扩大规模的潜力'和'可持续性'我要做的其中一件事是在这些数据集中的各种变量之间进行相关性分析。
但是,当使用cor.test函数时,我收到以下错误消息 - " cor.test.default中的错误(PCRsubset2006_15 $ Sustainability,PCRsubset2006_15 $ Potential.for.Scaling.up,:&#39 ; y'必须是数字向量"。
我尝试使用as.numeric强制将所述变量作为数字向量。我已多次测试代码,我发现问题似乎在于扩大规模的潜力。向量。当特定列包含在代码中时,似乎会出现错误。当我将is.numeric()应用于该向量时,它返回' False'
我的代码如下:
PCRsubset2006_10 <- subset.data.frame(PCRs.ratings, PCRs.ratings$Year.of.PCR.review > 2005 & PCRs.ratings$Year.of.PCR.review < 2011)
PCRsubset2011_15 <- subset.data.frame(PCRs.ratings, PCRs.ratings$Year.of.PCR.review > 2010 & PCRs.ratings$Year.of.PCR.review < 2016)
PCRsubset2006_15 <- subset.data.frame(PCRs.ratings, PCRs.ratings$Year.of.PCR.review > 2005 & PCRs.ratings$Year.of.PCR.review < 2016)
as.numeric(PCRsubset2006_15$Effectiveness)
as.numeric(PCRsubset2006_15$Potential.for.Scaling.up)
as.numeric(PCRsubset2006_15$Sustainability)
is.numeric(PCRsubset2006_15$Effectiveness)
is.numeric(PCRsubset2006_15$Potential.for.Scaling.up)
cor.test(PCRsubset2006_15$Effectiveness, PCRsubset2006_15$Sustainability, method = "spearman",exact = FALSE)
cor.test(PCRsubset2006_15$Sustainability, PCRsubset2006_15$Potential.for.Scaling.up, method = "spearman",exact = FALSE, use = "complete.obs")
我试图在这里找到类似的问题,但似乎无法找到解决方案。 对于初学者来说,这方面的任何帮助或指示都会有很大帮助。
答案 0 :(得分:0)
is.numeric()
测试它是否是数字类型。 FALSE
表示不是。要将变量保存为数字类型,您需要执行以下操作:
PCRsubset2006_15$Potential.for.Scaling.up < - as.numeric(PCRsubset2006_15$Potential.for.Scaling.up)
现在,如果您使用cor
功能,它应该可以正常工作。另一种方法是执行以下操作:
cor.test(PCRsubset2006_15$Effectiveness, as.numeric(PCRsubset2006_15$Potential.for.Scaling.up), method = "spearman",exact = FALSE)