Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:Cut在转换为数字时表现得很奇怪_R_Cut - Fatal编程技术网

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:)