我目前在苦苦挣扎...我不知道是否还有其他功能。

我有一张大桌子,上面放着数值,还有一个矩阵或带有阈值的矢量。

假设我有一个包含阈值0.6、0.8、1.0、1.2、1.4的矩阵
我想找出一个值(即0.9),该值属于哪个扇区。基本上,这是一个“评分”系统。值 0.6会得到4等。因此,我只想将此值(5、4、3等)写入结果表。

好的,这是我到目前为止的代码:

cut(1.2, breaks=c(0.6,0.8,1.0,1.2,1.4), labels(5,4,3,2,1))


但这还行不通..使用标签我实际上不知道要在其中插入多少标签,因为我总是会得到一个错误,即矢量的长度不同。没有标签参数,我仍然无法使其正常工作。它仍然输出所有不同的段,而不仅仅是我猜的那个值。

最佳答案

cut应该是正确的功能,但是您做错了事。

首先,您的代码中有错别字。 labels = c(...)是正确的版本。

其次,考虑一下您在做什么:创建间隔。多少?在没有cut的情况下尝试labels查看:

cut(1.2, breaks=c(0.6,0.8,1.0,1.2,1.4))
# [1] (1,1.2]
# Levels: (0.6,0.8] (0.8,1] (1,1.2] (1.2,1.4]


创建方式只有4个级别,因此您只需要提供4个标签(或重新定义断点)即可。

关于r - R:执行此功能是否正确?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19223499/

10-13 08:02