在Julia中通过字符串元素等效子集化数组

时间:2015-07-26 12:30:13

标签: arrays subset julia

我正在尝试按元素的值对数组进行子集化;特别是,表示样本类的字符串。例如,使用包含Fishers Iris数据的数组irisData

...
4.8  3.4  1.6  0.2  "Iris-setosa"   
4.8  3.0  1.4  0.1  "Iris-setosa"   
6.0  3.0  4.8  1.8  "Iris-virginica"
6.9  3.1  5.4  2.1  "Iris-virginica"
6.7  3.1  5.6  2.4  "Iris-virginica"
6.9  3.1  5.1  2.3  "Iris-virginica"
...

我想执行一个只返回第5列为"Iris-setosa"的行的操作。我希望这很简单,但我似乎无法找到一种优雅的方式来做到这一点。有什么建议吗?

R中的等效操作为irisData[species=="Iris-setosa"]

1 个答案:

答案 0 :(得分:3)

这种事情可能有用:

 irisdata = dataset("datasets","iris");
 irisdata[irisdata[:Species] .== "setosa", :]

50x5 DataFrame
| Row | SepalLength | SepalWidth | PetalLength | PetalWidth | Species  |
|-----|-------------|------------|-------------|------------|----------|
| 1   | 5.1         | 3.5        | 1.4         | 0.2        | "setosa" |
| 2   | 4.9         | 3.0        | 1.4         | 0.2        | "setosa" |
| 3   | 4.7         | 3.2        | 1.3         | 0.2        | "setosa" |
| 4   | 4.6         | 3.1        | 1.5         | 0.2        | "setosa" |