R:Cut在转换为数字时表现得很奇怪
首先是一些示例代码:R:Cut在转换为数字时表现得很奇怪,r,cut,R,Cut,首先是一些示例代码: Scores = c(5,4,3,2,1) Breaks = c(0,0.6,0.8,1,1.2,100) cut(1.19,breaks=Breaks, labels=Scores) as.numeric(cut(1.19,breaks=Breaks,labels=Scores) 第一个输出是正确的2,第二个输出是错误的4。为什么会有这种差异?我实际上需要一个数值,但是正确的数值…那么如何正确地转换它呢?cut返回一个因子,2是第四个因子级别。如果要将标高标签作为数字,
Scores = c(5,4,3,2,1)
Breaks = c(0,0.6,0.8,1,1.2,100)
cut(1.19,breaks=Breaks, labels=Scores)
as.numeric(cut(1.19,breaks=Breaks,labels=Scores)
第一个输出是正确的2,第二个输出是错误的4。为什么会有这种差异?我实际上需要一个数值,但是正确的数值…那么如何正确地转换它呢?
cut
返回一个因子,2是第四个因子级别。如果要将标高标签作为数字,则需要先将系数转换为字符:
as.numeric(as.character(cut(1.19,breaks=Breaks,labels=Scores)))
[1] 2
cut
返回一个因子,2是第四个因子级别。如果要将标高标签作为数字,则需要先将系数转换为字符:
as.numeric(as.character(cut(1.19,breaks=Breaks,labels=Scores)))
[1] 2
您需要得到每个元素的因子级别。尝试:
f <- cut(1.19,breaks=Breaks,labels=Scores)
as.numeric( levels(f)[f] )
f您需要获得每个元素的因子级别。尝试:
f <- cut(1.19,breaks=Breaks,labels=Scores)
as.numeric( levels(f)[f] )
f我显然还是不太了解这种因素类型。但它就像一个符咒,thx:)我显然还是不太明白这种因素类型。但它就像一个符咒,thx:)