楼主: peijianshi
4562 11

请教诸位高手一个关于自定义函数的问题? [推广有奖]

  • 0关注
  • 16粉丝

已卖:352份资源

副教授

80%

还不是VIP/贵宾

-

威望
0
论坛币
638 个
通用积分
2.3662
学术水平
12 点
热心指数
12 点
信用等级
5 点
经验
15373 点
帖子
636
精华
0
在线时间
568 小时
注册时间
2010-3-11
最后登录
2022-9-8

楼主
peijianshi 发表于 2010-11-2 16:35:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现在自定义了一个函数SSI

想提取其中一个变量x的值,在R Console中输入x,却什么也没有,出现“错误: 找不到对象'x'”,是什么原因造成的?该如何解决。

x处于自定义SSI函数中。
二维码

扫码加我 拉你入群

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

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

关键词:自定义函数 自定义 Console 是什么原因 找不到对象 函数 高手 定义

回帖推荐

shenbaiseshatan 发表于10楼  查看完整内容

在这里和楼主的另外一贴中需要注意的同一个问题,就是变量的作用域问题,在函数中定义的变量属于局部变量,只在函数环境中起作用,这个与C语言的变量类似,所以,如果在函数外部去调用这个只在自定义的函数中起作用的局部变量,便会出现该变量找不到的问题。 此外,使用return()函数是可以返回你需要的返回值的,不过也许需要通过类似下面的形式来得到你想象中的结果 同样的,也可以使用我在另外一贴中提供的两种方法解决你的问 ...

本帖被以下文库推荐

R万岁!

沙发
tsclw 发表于 2010-11-2 17:17:23
函数是一个封闭的过程,x只在函数内被定义,函数外x将没有被定义,因此,要想返回x的值,就要在函数中给出输出x的命令。

藤椅
peijianshi 发表于 2010-11-2 18:42:32
那么请问如何才能输出x的命令呢?
R万岁!

板凳
tsclw 发表于 2010-11-2 18:58:30
function( arglist ) expr
return(value)

return就是返回值

报纸
peijianshi 发表于 2010-11-2 19:44:09
呵呵,我是刚入门的菜鸟。多谢帮助!
R万岁!

地板
peijianshi 发表于 2010-11-2 20:14:03
你说用return(x)
我这样使用了,但是却得不到啊
R万岁!

7
peijianshi 发表于 2010-11-2 20:28:39
嗨,你还不如不回答,让懂的人回答
R万岁!

8
qoiqpwqr 发表于 2010-11-2 22:07:34
把你写的函数贴出来看看。

9
ryusukekenji 发表于 2010-11-3 00:48:40
  1. >SSI <- function(x) paste(as.character(x),"has converted to character type.")
  2. > x
  3. Error: object 'x' not found #x出现错误信息,是由于x只是函数SSI中的变量,所以只有运用SSI函数时才会在SSI函数中运行。

  4. >SSI(5)
  5. [1] "5 has converted to character type." #使用SSI函数时5代表着x变量,所以才能在SSI函数中运行。
复制代码
中文能力有限,希望解释无误...

10
shenbaiseshatan 在职认证  发表于 2010-11-3 23:01:42
在这里和楼主的另外一贴中需要注意的同一个问题,就是变量的作用域问题,在函数中定义的变量属于局部变量,只在函数环境中起作用,这个与C语言的变量类似,所以,如果在函数外部去调用这个只在自定义的函数中起作用的局部变量,便会出现该变量找不到的问题。
此外,使用return()函数是可以返回你需要的返回值的,不过也许需要通过类似下面的形式来得到你想象中的结果
  1. f<-function(...)
  2.    {
  3.       ...
  4.       v.name<-blabla  #这里假设你想要的变量名是v.name
  5.       ...
  6.       return(v.name)
  7.    }
  8. v.name<-f(...)
复制代码


同样的,也可以使用我在另外一贴中提供的两种方法解决你的问题。
胜人者有力,自胜者强!

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

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