【发布时间】:2016-01-21 10:18:03
【问题描述】:
我还在学习 R,但遇到了一些我无法理解的东西。我花了大约 2 个小时试图自己解决这个问题,但失败了 :-( .
我有一个我想使用 ifelse 进行子集化的 data.frame(例如,让我们想想 iris)。如果第一行是“setosa”,我想要一个带有前 50 行的 data.frame,如果不是,接下来的 100 行。见下文。
data (iris)
a <- ifelse(iris$Species[1] == "setosa", iris[1:50,],iris[51:150,])
我希望上面返回原始 data.frame 的子集,但我实际得到的是
[[1]]
[1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1 5.7 5.1 5.4 5.1 4.6
[24] 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8
[47] 5.1 4.6 5.3 5.0
我只是不明白...
【问题讨论】:
标签: r if-statement subset