本文介绍了查找数字列表之间的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个数字列表,如下所示.

I have two list of numbers like below.

x <- c(1, 5, 10, 17, 21, 30)
y <- c(2, 7, 19)

在我的数据集中,x 将 1 到 30 划分为不同的段(从 1-5、5-10、10-17、17-21、21-30).是否可以将这些段与 y 中的数字匹配?(在这种情况下,我想将 c(1,5,17) 作为输出,因为 2 介于 1 和 5 之间,7 介于 5 和 10 之间,而 19 介于 17 之间和 21.)

In my dataset, x divides 1 to 30 in different segments (from 1-5, 5-10, 10-17, 17-21, 21-30). Would it be possible to match these segments to numbers in y? (In this case, I'd want to get c(1,5,17) as an output because 2 is between 1 and 5, 7 is between 5 and 10, and 19 is in between 17 and 21.)

推荐答案

你可以用 sapply 和一个简单的函数来做到这一点

You can do this with sapply and a simple function

sapply(y, function(a) x[max(which(x<a))])
[1]  1  5 17

这篇关于查找数字列表之间的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 09:41