- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 1671 个
- 通用积分
- 475.1680
- 学术水平
- 85 点
- 热心指数
- 128 点
- 信用等级
- 60 点
- 经验
- 32847 点
- 帖子
- 913
- 精华
- 0
- 在线时间
- 1638 小时
- 注册时间
- 2010-2-2
- 最后登录
- 2025-12-27
|
今天试了几种情形,一一列出讨论一下吧.
用的R版本是2.15.2,编辑器是RStudio最新版.
每换一种方法我都清除了所有变量的额历史记录.
第一种 - %第一种方法
- x = c(1,1,2,3)
- y <- ifelse(x==1, 1, 0)
- y
复制代码显示结果是 - > x = c(1,1,2,3)
- > y <- ifelse(x==1, 1, 0)
- > y
- [1] 1 1 0 0
复制代码第二种 - %第二种方法
- x = c(1,1,2,3)
- ifelse(x==1,y <- 1, y <- 0)
- y
复制代码显示结果是 - > x = c(1,1,2,3)
- > ifelse(x==1,y <- 1, y <- 0)
- [1] 1 1 0 0
- > y
- [1] 0
复制代码第三种方法是 - %第三种方法
- x = c(1,1,2,3)
- ifelse(x==1,y = 1, y = 0)
- y
复制代码显示结果是
- > x = c(1,1,2,3)
- > ifelse(x==1,y = 1, y = 0)
- Error in ifelse(x == 1, y = 1, y = 0) :
- formal argument "yes" matched by multiple actual arguments
- > y
- Error: object 'y' not found
复制代码
第四种方法是
- %第四种方法
- x = c(1,1,2,3)
- ifelse(x==1,y = 1, 0)
- y
复制代码显示结果是 - > x = c(1,1,2,3)
- > ifelse(x==1,y = 1, 0)
- [1] 1 1 0 0
- > y
- Error: object 'y' not found
复制代码感觉很明显,第四种方法是不对的,但是为什么第二种和第三种不对呢?
谁能解答一下,谢谢!
|
|