首页 > 解决方案 > 如何在 R 中选择数据集的某些行然后在函数中使用?

问题描述

我试图iris在 R 的数据集中找到不同物种之间的马氏距离。我能够通过以下代码找到之间setosa的距离:versicolor

library(HDMD)

#To get Mahalanobis distances between Setosa and Versicolor,
set.vers<-pairwise.mahalanobis(x=iris[1:100,1:4], grouping=iris[1:100,]$Species)
md= sqrt(set.vers$distance)

但是,我正在努力为setosaand做同样的事情virginica。我不确定如何选择数据集的前 50 行和后 50 行(即没有任何versicolor数据)

标签: rcluster-analysisiris-dataset

解决方案


这是一个基本的子集问题。您想要基于 的子集Species,类似于(未测试)

ss <- iris[iris$Species %in% c("Setosa", "Virginica"), ]
pairwise.mahalanobis(x = ss, grouping = ss$Species)

您当然可以通过多种方式更改要比较的物种对。


推荐阅读