繁体   English   中英

xy.coords 中的错误(x,y,xlabel,ylabel,log):“x”和“y”长度不同

[英]Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ

我正在定义一个 function 并尝试将其 plot 用于x > max{b1,b2}

b1<-1
b2<-2
b<-1
l<-1
fn <- function(x,b1,b2,b,l){
         result <- b/x * ((1-(sqrt(1-(b1/x)^l)*sqrt(1-(b2/x)^l)))^(- 1/l))
         return(result)
          } 
fn1 <- fn(x,b1,b2,b,l)
x<-seq(3,20,0.1)
plot(x,fn1,type="l")

它适用于这些值,但是当我将 x 更改为如下 x<-seq(3,100,0.1) 时,它显示错误:

Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ

你能建议这里的错误是什么吗? 如何将其移除?

不确定在 b/x 术语之后您想要什么操作,但是它将 [ ] 作为索引读取,请尝试:

fn <- function(x,b1,b2,b,l){
  result <- b/x * (1-(sqrt(1-(b1/x)^l)*sqrt(1-(b2/x)^l)))**(- 1/l)
  return(result)
} 

function 中的结果行语法不正确。 应该如下

result <- b/x*(1-(sqrt(1-(b1/x)^l)*sqrt(1-(b2/x)^l)))*(- 1/l)

注意区别:

  • 不使用[ ] ,因为它们与 R 中的( )具有不同的含义。
  • 乘法*已在整个过程中得到修复

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM