【问题标题】:Finding the row value of one column based on closest value of another colum in dataframe根据数据框中另一列的最接近值查找一列的行值
【发布时间】:2021-10-11 17:49:14
【问题描述】:

我正在尝试获取与 df 中另一列对应的列的最接近值。下面的例子来说明:

我有数据框df:

df <- as.data.frame(dnorm(c(1:100), 50))
df$"bin" <- 1:100

"bin" 最接近对应的内容让我们说dnorm(c(1:100), 50) 的平均值。

df$bin[df$`dnorm(c(1:100), 50)` == max(df$`dnorm(c(1:100), 50)`)]
$ [1] 50


df$bin[df$`dnorm(c(1:100), 50)` == mean(df$`dnorm(c(1:100), 50)`)]
$ integer(0)

感谢任何意见

【问题讨论】:

    标签: r mean binning


    【解决方案1】:

    我们可以使用mean 列的abs 差异并获取该差异的min 的索引

    set.seed(24)
    df1 <- data.frame(bin = 1:100, col1 = dnorm(c(1:100), 50))
    v2 <- with(df1, abs(col1  - mean(col1)))
    df1$bin[v2 == min(v2)]
    [1] 47 53
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2022-01-23
      相关资源
      最近更新 更多