2016-04-28 51 views
1

我正在處理幾個小數據集,每個200-250個觀察值。我有興趣分析每個數據集的特定列中包含的likert比例(六點)數據。我感興趣的變量被命名爲「有效性」,「可擴展性」和「可持續性」。我試圖做的一件事是在這些數據集中的各個變量之間進行相關分析。錯誤代碼執行相關代碼的變量代表的變量代表

但是,使用cor.test函數時出現以下錯誤消息 - 「錯誤cor.test.default(PCRsubset2006_15 $ Sustainability,PCRsubset2006_15 $ Potential.for.Scaling.up,:'y'must be一個數字向量「

我已經嘗試使用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

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)