10月28,K神开课讲数据科学,你来吗?


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 2032|回复: 6
收起左侧

[统计--软件] R语言里面“=”和“<-”的区别,有效回答加米

[复制链接] |试试Instant~ |关注本帖
bryanjhy 发表于 2015-8-8 14:10:49 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
本人新手,之前看书自学R,一开始觉得=和<-差不多,所以就偷个懒直接用=,然后今天发现一个神奇的error,如下
ifelse(Owls$FoodTreatment=="Satiated", Owls$Nights=paste(Owls$Nest, "1", sep="_"), Owls$Nights=paste(Owls$Nest, "2", sep="_"))
Error: unexpected '=' in "ifelse(Owls$FoodTreatment=="Satiated", Owls$Nights="

然后改成. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
ifelse(Owls$FoodTreatment=="Satiated", Owls$Nights<-paste(Owls$Nest, "1", sep="_"), Owls$Nights<-paste(Owls$Nest, "2", sep="_"))
就出结果了,也就是把两个paste之前的=改成了<-,不知道为什么,新手求解答,有效回答加米,谢谢
chuck1212 发表于 2015-8-9 16:21:24 | 显示全部楼层
大多数情况下= 和 <- 应该是一样的,都可以用于赋值,但是 <- 更genral一点,=只能用在top level的赋值。
如果=写在function里面,是特别给function里面的parameter赋值,而不是其他一般的情况。

LZ这边的ifelse就是个function。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

不过,不知道可不可以避免在ifelse里面写=,比如写成?
Owls$Nights =paste(Owls$Nest, ifelse(Owls$FoodTreatment=="Satiated", "1","2"),  sep="_")

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| bryanjhy 发表于 2015-8-9 21:48:03 | 显示全部楼层
chuck1212 发表于 2015-8-9 16:21. Waral 鍗氬鏈夋洿澶氭枃绔,
大多数情况下= 和

能否解释一下啥叫top level
回复 支持 反对

使用道具 举报

chuck1212 发表于 2015-8-10 06:44:41 | 显示全部楼层
bryanjhy 发表于 2015-8-9 21:48.鏈枃鍘熷垱鑷1point3acres璁哄潧
能否解释一下啥叫top level

参考一下这条Stack Overflow:

http://stackoverflow.com/questio ... ference-between-and
回复 支持 反对

使用道具 举报

杀G不成反被杀 发表于 2015-8-11 20:56:47 | 显示全部楼层
玩R,强烈建议关注谢益辉。
以下是谢对这个问题的看法:http://yihui.name/cn/2012/09/equal-and-arrow/

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

杀G不成反被杀 发表于 2015-8-11 20:57:14 | 显示全部楼层
玩R,强烈建议关注谢益辉。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
以下是谢对这个问题的看法:http://yihui.name/cn/2012/09/equal-and-arrow/

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

scukid 发表于 2015-9-21 13:19:03 | 显示全部楼层
学长在维克森林这个月到现在感觉如何
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-9-20 11:41

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表