我有一个data.table
,DT
其中包含一个C
具有满足不等式的实值条目的列0 < x <= 1
。我想按例如 10 的间隔对这些条目进行“分组”。具体来说,对于我想要分配值 0.1 的所有值x
,对于我想要分配值 0.2 等的所有值C
0 < x <=0.1
x
C
0.1 < x <=0.2
下面是我编写的函数,我认为它可以让我这样做(很简单,我对 R 比较陌生!)。
r = function(x,N){
v = numeric(10)
for(i in 1:N)
v[i] = i/N*(x>(i-1)/N & x<=i/N)
v = v[v!=0]
return(v)
}
N
我需要的间隔数在哪里。但是,代码:
DT = DT[,newC:=r(x=C,N=10)]
给出以下错误:
Warning messages:
1: In v[i] = i/10 * (x > (i - 1)/10 & x <= i/10) :
number of items to replace is not a multiple of replacement length
2: In v[i] = i/10 * (x > (i - 1)/10 & x <= i/10) :
number of items to replace is not a multiple of replacement length
...
10: In v[i] = i/10 * (x > (i - 1)/10 & x <= i/10) :
number of items to replace is not a multiple of replacement length
非常感谢任何帮助!干杯