R - 如何根据同一行另一列的值从一列中获取值

标签 r statistics

我有一个 8 列 1200 行的数据框 (df)。在这 8 列中,我想找到第 7 列的最小值,并在找到第 7 列最小值的特定行中找到第 2 列的对应值。第 2 列也包含字符,所以我想要一个字符向量给我它的值。

我找到了第 7 列的最小值

min_val <- min(as.numeric(df[, 7]), na.rm = TRUE)

现在如何从第 2 列(列的变量名称为 'column.2')中获取与上面计算的第 7 列包含 'min_val' 值的行相对应的值?

这可能是一个微不足道的问题,但我是 R 新手,因此我们将不胜感激。

最佳答案

使用 which.min 获取最小值索引。类似的东西:

df[which.min(df[,7]),2]

注意 which.min 只返回最小值的第一个索引,所以如果你有几行具有相同的最小值,你只会得到第一个。

如果要获取所有最小行数,可以使用:

df[which(df[,7]==min(df[,7])), 2]

关于R - 如何根据同一行另一列的值从一列中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19422882/

相关文章:

statistics - 避免和计算 Mathematica 中计算基本统计数据的非数值

python - 如何简化 python 中分布的列表理解

ruby - 计算数组的统计信息

python - 如何获得完整的协方差矩阵并在 GPflow 中找到它的熵

r - 重新探究data.table与dplyr的内存使用

r - 使用ggplot添加动态字幕

在大型数据集上改变窗口大小的滚动平均值

python - 如何在 Python 中实现 R 的 p.adjust

r - 如何在 Shiny 的数据表中保存排序?

r - 如何重复计算许多单列并将输出存储在 R 中的新数据框中?