【发布时间】:2021-07-01 16:33:51
【问题描述】:
我想在 R 中做类似于 vlookup 的事情,使用数值变量作为基础。
示例查找表:
> Value <- c(1,1.5,2,2.5,3,3.5,4,4.5,5)
> Code <- c("A","B","C","D","E","F","G","H","I")
> Lookup_Table <- data.frame(Value, Code)
> Lookup_Table
Value Code
1 1.0 A
2 1.5 B
3 2.0 C
4 2.5 D
5 3.0 E
6 3.5 F
7 4.0 G
8 4.5 H
9 5.0 I
样本数据表:
> DataSample <- c(1.2,1,2.3,2.7,3.1,3,4.6,4.5,3.8)
> DataSample <- data.frame(DataSample)
> DataSample
DataSample
1 1.2
2 1.0
3 2.3
4 2.7
5 3.1
6 3.0
7 4.6
8 4.5
9 3.8
所以从这个DataSample 值我想根据查找表值匹配相应的Code。如果我的值是例如1.2,我想将它四舍五入到查找表上最接近的值1.5。所以我希望得到1.5的对应代码。
我想要的输出是:
> DataSample
DataSample Code
1 1.2 B
2 1.0 A
3 2.3 D
4 2.7 E
5 3.1 F
6 3.0 E
7 4.6 I
8 4.5 H
9 3.8 G
【问题讨论】: