R - 如何基于来自同一行的另一列的值从列获取值

Nic*_*cky 3 statistics r

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

我找到了第7列的最小值

min_val <- min(as.numeric(df[, 7]), na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)

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

这可能是一个微不足道的问题,但我是R的新手,所以任何帮助将不胜感激.

jub*_*uba 6

使用which.min获得的最低值指标.就像是 :

df[which.min(df[,7]),2]
Run Code Online (Sandbox Code Playgroud)

需要注意的是which.min仅返回最小的第一指标,所以如果你有几行用相同的最小值,你只会得到的第一个.

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

df[which(df[,7]==min(df[,7])), 2]
Run Code Online (Sandbox Code Playgroud)