0

我知道这个问题以前曾被问过,但不是在我现在问的上下文中。

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

      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

非常欢迎您的意见和建议

4

1 回答 1

2

year不是数值 - 它将是字符串或因子。检查与str(mydata)

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

于 2017-04-19T16:00:49.820 回答