r - 如何在 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)
但是,我正在努力为setosa
and做同样的事情virginica
。我不确定如何选择数据集的前 50 行和后 50 行(即没有任何versicolor
数据)
解决方案
这是一个基本的子集问题。您想要基于 的子集Species
,类似于(未测试)
ss <- iris[iris$Species %in% c("Setosa", "Virginica"), ]
pairwise.mahalanobis(x = ss, grouping = ss$Species)
您当然可以通过多种方式更改要比较的物种对。
推荐阅读
- gcc - 在没有 gcc8 的生产环境中运行使用 gcc8 构建的程序
- vue.js - 如何正常制作 vue-awesome-swiper 循环并显示分页?
- google-sheets - 根据另一个单元格中的信息修改 Google Sheet Cell 中的信息
- python - 如何解决 content.Keywords.key_words: (fields.E005) 'choices' 必须是包含(实际值,人类可读名称)元组的可迭代
- hadoop - 在分布式hadoop生态系统中启动hbase后,系统被挂起,不得不重新启动以稳定机器
- java - DateTimeFormatter.ofPattern 语言选项
- hadoop - 在 ec2 实例上运行 MissingPokerCards 时出现 ClassNotFoundException
- python - 超过字符数时值更改
- haskell - 当后一位数字大于haskell中的前一位数字时中断
- python - 使用来自 db 的计数用于使用 pandas 的 matplotlib 条形图?