我是R的新手。是否有可能首先声明一个函数然后在RStudio中的R中定义它?
函数定义很长,我想声明它然后定义它:
f2 <- function()
fn <- function(a,b, c, d, q1)
{
print(a)
print(b)
print(c)
print(d)
print(q1)
f2() # originally, it is named as f1
}
x <- 6
y <- 10
z <- 58
v <- 20
v1 <- 68
fn(x,y , c=z, d=v, q1=v1)
f2 <- function()
{
print("here is f2 definition")
}
我已将函数名从f1更改为f2,但是,在调试器中,源查看器仍会跳转到f1(),为什么?
并且,允许以这种方式定义f2?
谢谢!
答案 0 :(得分:1)
这就是我运行代码的原因:
> f2 <- function()
+
+ fn <- function(a,b, c, d, q1)
+ {
+ print(a)
+ print(b)
+ print(c)
+ print(d)
+ print(q1)
+ f2() # originally, it is named as f1
+ }
>
> f2()
> x <- 6
> y <- 10
> z <- 58
> v <- 20
> v1 <- 68
> fn(x,y , c=z, d=v, q1=v1)
Error: could not find function "fn"
您的意思是在fn
内定义f2
吗?如果是,那么您的全球环境中没有fn
,尝试fn(x,y , c=z, d=v, q1=v1)
毫无意义。如果您不理解为什么fn
在f2
内定义并且无法从全球环境中访问,那么我认为最好的建议可能是首先得到一本关于R的好书。你想实现吗?