R中圆形包的循环线性回归不起作用

时间:2014-09-03 17:06:40

标签: r

我试图使用R中的循环包关联线性和循环变量: http://cran.r-project.org/web/packages/circular/circular.pdf

#Linear variable
x<-c(221, 223, 256, 212, 217, 217, 200)

#Circular variable, compass direction in degrees
y<-c(2, 213, 356, 188, 202, 221, 191)

#Convert y to a circular variable, to specify type 
y<-circular(y, type=c("angles"),units=c("degrees"),
   template=c("geographics"), zero=0, rotation=c("clock"))

#Correlation
lm.circular(y=y, x=x, init=c(7), type="c-l", verbose=TRUE)

运行它会产生错误:while(diff&gt; tol)中的错误{:缺少需要TRUE / FALSE的值

我不确定这意味着什么。没有遗漏的值。我认为这可能是因为我不理解“init。”

以下是文档中“init”函数的描述:“一个初始值长度等于x列的向量”。我在这里尝试了“1”和“7”,结果相同。文档提到x和y的适当输入是向量,所以我不确定“列”的含义。

或许还有其他我想念的东西?谢谢!

2 个答案:

答案 0 :(得分:0)

虽然文档很薄弱,但debug的一些工作表明vector输入转换为单列矩阵,因此您应为init输入一个初始值

但是,我运行了您的数据集(和代码),但算法有所不同。如果您在线性空间中绘制yx,则看起来有序对(221,2)与剩余的值完全不同。

答案 1 :(得分:0)

您的示例适用于init=0。我同意错误消息不是很有用。您可能想询问包开发人员是否可以改进它。