min()为什么不返回实际最小值?

时间:2019-08-08 00:26:29

标签: r

我正在尝试使用R中的min()函数在表的数值列表中找到最小值,但是我注意到它有时不返回实际的最低数值。

例如,如果列表包含7.760、12.015、13.043和70.789,则如果我执行min(list),它将返回12.015作为最小值,而不是7.760。我注意到,通过使用表中列顶部的箭头手动将值的表从最低到最高进行排序,它会返回12.015、13.043、7.760、70.789的顺序,就像按第一位对值进行排序一样整个数量。

在这种情况下,有没有办法修复它或使用其他功能?

1 个答案:

答案 0 :(得分:3)

数字之类的声音实际上是字符串

vec <- c(7.760, 12.015, 13.043, 70.789)

min(vec)
# [1] 7.76

vec <- as.character(vec)
min(vec)
# [1] "12.015"

使用numeric将它们简单地转换为as.numeric(vec),然后min()会表现出预期的效果