R 通过对现有标高进行分组来创建新标高

R 通过对现有标高进行分组来创建新标高,r,R,假设我有这样的样本数据,是连续的d-1为1级,-1

假设我有这样的样本数据,是连续的
d-1为1级,-1
我知道我们可以创建一个新的变量来存储级别,但是有没有办法不创建一个仅包含级别的额外变量来保存数据,即根据条件分解变量

我想要像这样的东西

d  
# [1] -0.129731527  0.832232654 -1.204235933  ...
str(d)  
# Factor w/ n levels "1", "2" ...

您可以为此使用
cut

#the second argument is where you specify the breaks that you want
dc <- cut(d, c(-Inf, -1, 0, 1, Inf))
#第二个参数是指定所需中断的位置

dc不可能完全按照您所描述的那样做,因为这会破坏
因子
变量的用途。看起来您希望保留原始值,同时为多个不同的原始值指定唯一级别。在您的示例中,您希望
-0.129731527
-1.204235933
都对应于级别
1
,这是不可能的,因为它们是不同的值。因此,我必须创建一个新变量。
levels(dc) <- 1:4