R 调用函数没有得到执行
我写了一个函数来计算两个向量之间的距离。下面是它的代码R 调用函数没有得到执行,r,R,我写了一个函数来计算两个向量之间的距离。下面是它的代码 myfu <- function(a=c(a,b),b=c(c,d)) { res <- sqrt((d^2-b^2)-(c^2-a^2)) return(res)} 当你说a=c(a,b),b=c(c,d)时,你给了两个参数默认值。函数只知道a和b,而不知道您提供的默认参数。我认为@neilfws的答案会起作用,或者你也可以这样索引a和b: myfu <- function(a, b){ # check a and
myfu <- function(a=c(a,b),b=c(c,d))
{
res <- sqrt((d^2-b^2)-(c^2-a^2))
return(res)}
当你说a=c(a,b),b=c(c,d)
时,你给了两个参数默认值。函数只知道a
和b
,而不知道您提供的默认参数。我认为@neilfws的答案会起作用,或者你也可以这样索引a
和b
:
myfu <- function(a, b){
# check a and b length
if (length(a) !=2 & length(b) != 2)
return(NA)
res <- sqrt((b[2]^2-a[2]^2)-(b[1]^2-a[1]^2))
return(res)}
myfu当你说a=c(a,b),b=c(c,d)
时,你给了两个参数默认值。函数只知道a
和b
,而不知道您提供的默认参数。我认为@neilfws的答案会起作用,或者你也可以这样索引a
和b
:
myfu <- function(a, b){
# check a and b length
if (length(a) !=2 & length(b) != 2)
return(NA)
res <- sqrt((b[2]^2-a[2]^2)-(b[1]^2-a[1]^2))
return(res)}
myfu如果要将参数作为向量传递,可以使用
myfu1 <- function(a, b) {
sqrt(diff((b^2 - a^2)))
}
myfu1(c(1, 2), c(5, 8))
#[1] 6
myfu1(c(1, 2), c(6, 8))
#[1] 5
myfu1如果要将参数作为向量传递,可以使用
myfu1 <- function(a, b) {
sqrt(diff((b^2 - a^2)))
}
myfu1(c(1, 2), c(5, 8))
#[1] 6
myfu1(c(1, 2), c(6, 8))
#[1] 5
myfu1当参数x,y被定义为a,b时,为什么要调用参数x,y的函数?问题中的代码生成与问题中的错误不同的错误。除此之外,我想myfu当参数x,y被定义为a,b时,为什么要调用参数x,y的函数?问题中的代码生成与问题中的错误不同的错误。除此之外,我认为myfu