从data.frame
,a
我想随机选择5行,如果a
有多行,否则我想返回a
原样。If else in“[”;如何返回
a <- data.frame(x=1:10, y=1:10)
a[if(nrow(a) > 5) sample(nrow(a), 5) else 1:nrow(a), ]
我试图删除else
条款(没有工作)或else子句中至少省去1:nrow(a)
等所有选择行只是返回“东西”(类似a[ , ]
如果nrow(a) <= 5
)。我需要返回什么?我试过NA
和NULL
都没有工作。有没有办法做到这一点?
试试'if(nrow(a)> 5)a [sample(nrow(a),5),] else a' – 2014-09-03 16:11:57
感谢您的建议,我想我真正想知道的是,我有什么在'a [,]中的逗号前面返回等于'Nothing'的'else'。也许这是不可能的。 – johannes 2014-09-03 16:22:36