我试图使用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的适当输入是向量,所以我不确定“列”的含义。
或许还有其他我想念的东西?谢谢!
答案 0 :(得分:0)
虽然文档很薄弱,但debug
的一些工作表明vector
输入转换为单列矩阵,因此您应为init
输入一个初始值
但是,我运行了您的数据集(和代码),但算法有所不同。如果您在线性空间中绘制y
与x
,则看起来有序对(221,2)
与剩余的值完全不同。
答案 1 :(得分:0)
您的示例适用于init=0
。我同意错误消息不是很有用。您可能想询问包开发人员是否可以改进它。