楼主: qoiqpwqr
5713 6

[问答] R里面用<<-赋值是什么意思? [推广有奖]

已卖:100份资源

院士

49%

还不是VIP/贵宾

-

威望
1
论坛币
132048 个
通用积分
9219.7014
学术水平
925 点
热心指数
1073 点
信用等级
703 点
经验
130943 点
帖子
3353
精华
1
在线时间
3498 小时
注册时间
2009-7-18
最后登录
2025-5-18

初级热心勋章 初级信用勋章 初级学术勋章 中级热心勋章 高级热心勋章

楼主
qoiqpwqr 发表于 2011-6-28 22:01:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
R里面用<<-赋值是什么意思?
和<-有什么区别?
谢谢
二维码

扫码加我 拉你入群

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

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

关键词:意思 赋值

沙发
ltx5151 发表于 2011-6-28 23:34:24
<<- 是特殊赋值,如果该赋值的environment里有相应的变量,则赋值给相应的变量,如果这一层的environment里没有相应变量,则在parent environment里寻找相应的变量进行赋值,以此类推,知道进行的global environment。该操作通常用于函数内部与外部关联时调用。<-只是在该赋值操作的environment里寻找变量,如果没有则报错.
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 多谢版主,以前就没有弄清楚 不过感觉现在还是没有听懂您解释

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
qoiqpwqr 发表于 2011-6-29 01:36:45
2# ltx5151 Thank you very much.

板凳
ywh19860616 发表于 2011-6-29 07:22:47
ltx5151 版主,没有听懂哦

您能否具体举个实例?
一份耕耘,一份收获。

报纸
epoh 发表于 2011-6-29 21:07:37
哈哈!老兄就像 matlab global
GLOBAL Define global variable.

?"<<-"

############
x <- 5
add <- function(k)  {
x <- x + k
10 + x }
x             #5
add(1)   #16
x             #5  
add(1)   #16

##########define global variable
x <- 5
add <- function(k)  {
x <<- x + k
10 + x }
x              #6
add(1)    #16
x              #6
add(1)    #17


Important! be aware of cautions about the use of global variables!!
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 epoh老师,好,呵呵 这个就像全局变量和局域变量吧 global对应loc

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
ywh19860616 发表于 2011-6-29 23:15:27
epoh老师,谢谢解答
这个就像全局变量和局域变量吧
global对应local
一份耕耘,一份收获。

7
snakepointid 发表于 2015-6-15 11:10:39
=和<-区别不大,不过=多用于函数里面参数赋值。
<<-和<-最大的区别就在于当调用函数时,函数内部的赋值如果用<<-则,在其他地方依然可以调用该对象。如果用<-则对象只在函数里面存在。具体例子如下:
> rm(x)
> f<-function(x){
+   x<-2
+ }
> f()
> x
Error: object 'x' not found

> f<-function(x){
+   x<<-2
+ }
> f()
> x
[1] 2

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

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