我知道之前已经问过这个问题,但现在我没有问过这个问题。
我有一个看起来像这样的数据框
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
非常欢迎您提出意见和建议
答案 0 :(得分:1)
year
不是数值 - 它可以是字符串或因子。查看str(mydata)
。
您可以将其转换为数字值,例如: as.numeric(substr(mydata$year,1,4))
或使用因子级别as.numeric(as.factor(mydata$year))
- 尽管如果使用后者,请检查顺序是否有意义。