R 分配小数点到分布

R 分配小数点到分布,r,assign,quantile,R,Assign,Quantile,我需要给一个分布赋值十位数,但要以整数的形式。 1应该对应第一个十分位数,2对应第二个,3对应第三个。。。 目前,我正在使用下面的代码,它并不完全符合我的要求 cut(x, breaks = quantile(data, probs = seq(0, 1, 0.1))) 因此,不是这种类型的结果: (0,100] (100,200] 我想要一些类似于: 1 90 2 130 2 150 3 230 是否有人已经为此编写了一些代码?如果您正在使用data.frame,则可

我需要给一个分布赋值十位数,但要以整数的形式。 1应该对应第一个十分位数,2对应第二个,3对应第三个。。。 目前,我正在使用下面的代码,它并不完全符合我的要求

cut(x, breaks = quantile(data, probs = seq(0, 1, 0.1)))
因此,不是这种类型的结果:

(0,100] (100,200]  
我想要一些类似于:

1   90
2   130
2   150
3   230
是否有人已经为此编写了一些代码?

如果您正在使用data.frame,则可以执行以下操作:

df$decile <- cut(df$x, breaks= quantile(df$x, probs= seq(0, 1, by= 0.1)), 
            include.lowest= TRUE, 
            labels= c(1:10))
如果使用的是data.frame,则可以执行以下操作:

df$decile <- cut(df$x, breaks= quantile(df$x, probs= seq(0, 1, by= 0.1)), 
            include.lowest= TRUE, 
            labels= c(1:10))
可以在“剪切”中使用“标签”参数

要将其转换为整数yes,我知道在这种特殊情况下as.字符是多余的。

您可以在cut中使用labels参数


要将其转换为整数是的,我知道在这种特殊情况下,as.字符是多余的。

使用cutPerfect中的labels参数谢谢:@RichardTelford post作为答案?使用cutPerfect中的labels参数谢谢:@RichardTelford post作为答案?
x2 <- cut(x, breaks = quantile(x, probs = seq(0, 1, 0.1)), 
  labels = 1:10, include.lowest = TRUE)
as.numeric(as.character(x2))