楼主: liyichen17
2201 3

[问答] function()中生成的数据,在function()外找不到 [推广有奖]

  • 4关注
  • 1粉丝

讲师

3%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
1.0166
学术水平
4 点
热心指数
5 点
信用等级
2 点
经验
19465 点
帖子
165
精华
0
在线时间
602 小时
注册时间
2012-2-28
最后登录
2022-12-20

楼主
liyichen17 在职认证  发表于 2018-3-6 17:30:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
function()过程中生成的数据,在function()外找不到。

如:
  1. test <- function(a){
  2.   mydata <- rnorm(a, 10, 5)
  3. test(10)
  4. }
复制代码
test(10)后,找不到mydata这个数据。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:function CTI Fun TIO UNC

沙发
swyggq 发表于 2018-3-6 18:54:29
首先是,一个无穷递归:
>     test <- function(a){
+       mydata <- rnorm(a, 10, 5)
+     test(10)
+     }
> test(10)
错误: 评估嵌套太深:无穷递归/ options(expressions=)?
然后,假定你的test(10)想要放在大括号外面
>     test <- function(a){
+       mydata <- rnorm(a, 10, 5)
+     }
> test(10)
就是,如果你想写成这样子,那么,这样就可以了
>     test <- function(a){
+       mydata <<- rnorm(a, 10, 5)
+     }
> test(10)
> mydata
[1] 19.197390  4.959926 16.134465 10.011650  8.306252 13.141154  3.511701
[8]  6.405254 18.227322 11.918783
已有 1 人评分论坛币 热心指数 收起 理由
cheetahfly + 10 + 1 热心帮助其他会员

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

藤椅
swyggq 发表于 2018-3-6 18:55:22
    test <- function(a){
      mydata <<- rnorm(a, 10, 5)
    }
    test(10)
不确定刚刚的回复有没成功
不过这样就可以了
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
liyichen17 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 2  学术水平 + 2  热心指数 + 2   查看全部评分

板凳
liyichen17 在职认证  发表于 2018-3-6 20:12:23
swyggq 发表于 2018-3-6 18:54
首先是,一个无穷递归:
>     test      test      test
谢谢你,解决了!~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 04:59