R相关测试中出错。 'x'必须是数字向量

时间:2017-04-19 13:26:33

标签: r correlation pearson

我知道之前已经问过这个问题,但现在我没有问过这个问题。

我有一个看起来像这样的数据框

      year    Units   
1 2005-2007   0.082 
2 2008-2010   0.411 
3 2011-2013   1.258 

我的简单代码看起来像这样

Year = mydata$year
Units = mydata$Units
cor.test(mydataRyear, mydata$Units, type=pearson)

当我运行代码时出现错误

Error in cor.test.default(mydata$year, mydata$Units, type = pearson) : 'x' must be a numeric vector

非常欢迎您提出意见和建议

1 个答案:

答案 0 :(得分:1)

year不是数值 - 它可以是字符串或因子。查看str(mydata)

您可以将其转换为数字值,例如: as.numeric(substr(mydata$year,1,4))或使用因子级别as.numeric(as.factor(mydata$year)) - 尽管如果使用后者,请检查顺序是否有意义。