我想找到下面第x3列最接近的值。
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 76 20 15
所以期望的输出将是
Closest_Value_to_x3
24
30
20
请帮忙。谢谢
定义一个函数closest_to_3
,它对向量进行操作,并返回最接近第三个成员的向量中的值:
closest_to_3 <- function(v) v[-3][which.min(abs( v[-3]-v[3] ))]
(成语v[-3]
从v
删除第3个成员。)然后将此函数应用于数据框的每一行:
apply(data, 1, closest_to_3)
#[1] 24 30 20