在 Julia 中通过字符串元素等价对数组进行子集化
Subset an array by string element equivalence in Julia
我正在尝试根据元素的值对数组进行子集化;具体来说,表示样本 class 的字符串。例如,使用包含 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"
...
我想执行 returns 仅第 5 列为 "Iris-setosa"
的那些行的操作。我预计这会非常简单,但我似乎无法找到一种优雅的方式来做到这一点。有什么建议吗?
R 中的等效操作为 irisData[species=="Iris-setosa"]
。
这种方法可能有效:
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" |
我正在尝试根据元素的值对数组进行子集化;具体来说,表示样本 class 的字符串。例如,使用包含 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"
...
我想执行 returns 仅第 5 列为 "Iris-setosa"
的那些行的操作。我预计这会非常简单,但我似乎无法找到一种优雅的方式来做到这一点。有什么建议吗?
R 中的等效操作为 irisData[species=="Iris-setosa"]
。
这种方法可能有效:
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" |