从列中找到最接近的值,并从相邻列中返回数字(在列表内)

DJ-亚足联

我有一个x数据帧的大列表(List1),每个列表由(假设)2个变量的4个观察值组成。典型的数据框如下所示:

YEAR   TEMP
1861    2.09
1862    2.17
1863    2.02
1864    2.04
............

我希望在第二列中找到最接近值2的值(但理想情况下不大于2.05且不小于1.95),然后从相邻列向左返回年份。在Excel中,使用VLOOKUP和INDEX之类的函数很简单,但是R中是否有任何等效函数?忽略需要> = 1.95和<= 2.05的部分,到目前为止,我已经尝试过:

result=lapply(List1, function(x) which.min(abs(x-2)))

但这返回为错误:

Error in which.min(abs(x - 2)) : 
(list) object cannot be coerced to type 'double'

我不认为我在这里很远,但是有人可以建议我可以在哪里纠正此问题吗?

ath

您的功能是apply对列表的每个元素进行操作data.frames

因此,为了使您的陈述生效,您需要使用x要进行测试的列:

result <- lapply(List1, function(x) x[which.min(abs(x$TEMP-2)), ])

或者

result <- lapply(List1, function(x) x$YEAR[which.min(abs(x$TEMP-2))])

如果您只想要年份。

如果要添加其他条件,请尝试:

result <- lapply(List1, function(x) {x <- x[x$TEMP <= 2.05 & x$TEMP >= 1.95, ] ; return(x$YEAR[which.min(abs(x$TEMP-2))])})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从列表中找到最接近的值?

在排序列表中找到最接近/最接近的值

从整数列表中,获取最接近给定值的数字

从整数列表中,获取最接近给定值的数字

熊猫在列中找到最接近的值

最接近R中特定列的值

在列表中找到与给定数字最接近的位置

在Matlab中找到最接近的较小值

返回最接近的值到R中的特定列

如何在各列中找到最接近的数字?

R-对于一列中的每个观测值,在另一列中找到最接近的一个

如何找到最接近的值并返回另一列的值?

在列表中找到最接近的点的索引

从向量中找到最接近的数字索引

在列pandas中找到最接近的值

如何在熊猫列/系列中找到最接近输入数字的值?

熊猫在给定值列表的情况下在数据框列中找到最接近值的索引

在列表中找到与给定数字最接近的较小和较大值的最佳方法是什么

在python列表中找到最接近的值对

Python / Pandas在一列中找到最接近/最接近的值

python在列表中找到最接近的值

在Matlab中的多维数组中找到最接近常量的值

如何在 Python 中找到最接近数字的值?

根据条件在列中找到最接近的时间戳

比较两个列表中的值并从第三个列表中返回相似或最接近的值

在分组数据的列中找到最接近的值,然后在 R 中找到它们对应的行

如何在 Pandas 数据框列中找到与 O(logn) 中输入值 x 最接近的 k 个值?

在字典中找到最接近和大于输入数字的数字

如何在同一列中找到最接近的值