找回密码
 立即注册
查看: 2576|回复: 2

用 ifelse() 函数赋值时的诡异问题

[复制链接]
发表于 2014-10-22 17:16:10 | 显示全部楼层 |阅读模式
构造数据框 mydata   
> mydata<- matrix(c(1:12),nrow=3)
> mydata
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12


调用 ifelse( ) 函数
> mydata<- ifelse(is.null(nrow(mydata)),data.frame(t(mydata)),mydata)
因为此时is.null(nrow(mydata))为 FALSE,故相当于 将mydata本身赋值给它本身,
但是此时的mydata却变成这样:
> mydata
[1] 1

有点诡异。。
求助各位大牛,这是为什么呢?ifelse函数的运行机制的问题?谢啦!
回复

使用道具 举报

发表于 2014-10-22 20:43:40 | 显示全部楼层
只有一个FALSE,所以只取mydata的第一个元素吧
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 14:20 , Processed in 0.020522 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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