Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用户定义函数将多个数据帧导出到全局环境中_R_Function_Dataframe_User Defined Functions - Fatal编程技术网

R 用户定义函数将多个数据帧导出到全局环境中

R 用户定义函数将多个数据帧导出到全局环境中,r,function,dataframe,user-defined-functions,R,Function,Dataframe,User Defined Functions,我创建了一个函数,它计算各种患者数据的统计信息,并输出图,它生成包含每个患者汇总统计信息的数据帧 如果我在R中复制并运行该函数,则输出对我可用。但是,我现在从一个单独的R脚本调用该函数,数据帧不再可用 有没有办法纠正这个问题 比如说, test=function(a){ A=a B=2*a C=3*a D=4*a DF=data.frame(A,B,C,D) } a=c(1,2,3,4) test(a) 这不会返回DF,但如果要键入: a=c(1,2,3,4) A

我创建了一个函数,它计算各种患者数据的统计信息,并输出图,它生成包含每个患者汇总统计信息的数据帧

如果我在R中复制并运行该函数,则输出对我可用。但是,我现在从一个单独的R脚本调用该函数,数据帧不再可用

有没有办法纠正这个问题

比如说,

test=function(a){
  A=a
  B=2*a
  C=3*a
  D=4*a
  DF=data.frame(A,B,C,D)
}

a=c(1,2,3,4)
test(a)
这不会返回
DF
,但如果要键入:

  a=c(1,2,3,4)
  A=a
  B=2*a
  C=3*a
  D=4*a
  DF=data.frame(A,B,C,D)
然后明显地返回
DF
。是否有一种简单的方法来解决此问题,以便从
测试
功能中可以使用
DF

test=function(a){
  A=a
  B=2*a
  C=3*a
  D=4*a
  DF=data.frame(A,B,C,D)
}

a=c(1,2,3,4)
df<-test(a)
print(df)
test=功能(a){
A=A
B=2*a
C=3*a
D=4*a
DF=数据帧(A、B、C、D)
}
a=c(1,2,3,4)
df试试:

test=功能(a){
A=A
B=2*a
C=3*a
D=4*a
DF=数据帧(A、B、C、D)
}
a=c(1,2,3,4)

df如果要将函数中的对象分配给全局环境以便于检索,则运算符为“”,有关更多信息,请参阅:

?assignOps()

test <- function(a)
       A=a
       B=2*a
       C=3*a
       D=4*a
       DF <<- data.frame(A,B,C,D)
}

# trial your dummy data
a=c(1,2,3,4)
test(a)
DF

test如果要将函数中的对象分配给全局环境以便于检索,则运算符为“”,有关详细信息,请参阅:

?assignOps()

test <- function(a)
       A=a
       B=2*a
       C=3*a
       D=4*a
       DF <<- data.frame(A,B,C,D)
}

# trial your dummy data
a=c(1,2,3,4)
test(a)
DF

test如果
test(a)
没有返回DF,可能您应该在函数中添加一行类似
return(DF)
。(不知道你是不是这个意思。)这不是我的意思,但我能理解它是如何被理解的。我希望
DF
存储在全局环境中,而不是显示在控制台中。如果您在函数中添加
return(DF)
,并使用类似
DF=test(a)
的函数,它应该按照您的预期操作。这是在R中做事情的惯用方法,而不是让函数创建对象作为副作用。如果你真的想按照你所描述的去做,那么如果
测试(a)
没有返回DF,也许你应该在函数中添加一行类似
return(DF)
。(不知道你是不是这个意思。)这不是我的意思,但我能理解它是如何被理解的。我希望
DF
存储在全局环境中,而不是显示在控制台中。如果您在函数中添加
return(DF)
,并使用类似
DF=test(a)
的函数,它应该按照您的预期操作。这是在R中做事情的惯用方法,而不是让函数创建对象作为副作用。如果你真的想按照你描述的去做,这里有