Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找R中最接近的较高值的列_R - Fatal编程技术网

查找R中最接近的较高值的列

查找R中最接近的较高值的列,r,R,我试图找到与另一列值最接近的列的索引(或名称)。更准确地说,我有一个数据集,看起来像: data <- data.frame(cum_1 = c(1,2), cum_2 = c(2,3), cum_3 = c(3,4), median = c(1, 2.2)) data我相信有更优雅的方法可以做到这一点,但这里有一个基本的开始: apply(数据,1,函数(x){ val我相信有更优雅的方法可以做到这一点,但这里有一个基

我试图找到与另一列值最接近的列的索引(或名称)。更准确地说,我有一个数据集,看起来像:

data <- data.frame(cum_1 = c(1,2), 
           cum_2 = c(2,3),
           cum_3 = c(3,4),
           median = c(1, 2.2))

data我相信有更优雅的方法可以做到这一点,但这里有一个基本的开始:

apply(数据,1,函数(x){

val我相信有更优雅的方法可以做到这一点,但这里有一个基本的开始:

apply(数据,1,函数(x){

val您可以使用
max.col
作为矢量化选项:

max.col(data[-ncol(data)] - data$median >= 0, ties.method = 'first')
#[1] 1 2

data[-ncol(data)]
删除最后一列(
median
),并用
data$median
减去每一列,得到:

data[-ncol(data)] - data$median
#  cum_1 cum_2 cum_3
#1   0.0   1.0   2.0
#2  -0.2   0.8   1.8
我们将此输出与
=0
进行比较,以获得
TRUE
/
FALSE

data[-ncol(data)] - data$median >= 0

#     cum_1 cum_2 cum_3
#[1,]  TRUE  TRUE  TRUE
#[2,] FALSE  TRUE  TRUE

由于
TRUE>FALSE
我们可以使用
max.col
来获取每行中最大值的列索引。在这种情况下,如果有多个
TRUE
值,我们指定
ties.method='first
来获取第一个索引。

max.col
可以用于向量化选项:

max.col(data[-ncol(data)] - data$median >= 0, ties.method = 'first')
#[1] 1 2

data[-ncol(data)]
删除最后一列(
median
),并用
data$median
减去每一列,得到:

data[-ncol(data)] - data$median
#  cum_1 cum_2 cum_3
#1   0.0   1.0   2.0
#2  -0.2   0.8   1.8
我们将此输出与
=0
进行比较,以获得
TRUE
/
FALSE

data[-ncol(data)] - data$median >= 0

#     cum_1 cum_2 cum_3
#[1,]  TRUE  TRUE  TRUE
#[2,] FALSE  TRUE  TRUE

由于
TRUE>FALSE
我们可以使用
max.col
来获取每行中最大值的列索引。在这种情况下,如果超过1个值
TRUE
我们指定
ties.method='first
来获取第一个索引。

谢谢你的回答!这似乎有效,但我很难将其应用到我的实际数据中a我真的不明白你是如何将
中值
设置为进行比较的值HI@cynk34;我添加了一些解释,希望能有所帮助。请看一看。由于你的解释,我成功了,非常感谢!感谢你的回答!这似乎有效,但我很难将其应用到我的actu中al数据集,因为我真的不明白您是如何将
中值
设置为进行比较的值hi@cynk34;我添加了一些解释,希望能有所帮助。请看一看。由于您的解释,我成功了,非常感谢!非常好,非常感谢!非常好,非常感谢!