Closest value to a specific column in R

前端 未结 4 925
自闭症患者
自闭症患者 2021-02-13 06:26

I would like to find the closest value to column x3 below.

data=data.frame(x1=c(24,12,76),x2=c(15,30,20),x3=c(45,27,15))
data
  x1 x2 x3
1 24 15 45
2 12 30 27
3          


        
4条回答
  •  逝去的感伤
    2021-02-13 06:53

    Use max.col(-abs(data[, 3] - data[, -3])) to find the column positions of the closest values and use this result as part of a matrix to extract desired values from your data. The matrix is returned by cbind

    col <- 3
    data[, -col][cbind(1:nrow(data),
                       max.col(-abs(data[, col] - data[, -col])))]
    #[1] 24 30 20
    

提交回复
热议问题