要替换的项目数不是R中替换长度的倍数

时间:2015-07-23 05:42:38

标签: r

for (i in 1:(cutoff_size-1)){
if (work$obs<i){
work$group[i]<-0 }
else { work$group[i]<-1 } }

> work
     size event   time  obs group
1    0.0     1   7.213    1     1
2    0.2     0 103.000    2     0
3    0.3     0 156.000    3     0
20  19.0     1   3.934   73     1

> warnings()
Warning messages:
1: In work$group[i] = rep(c(0, 1), c(i - 1, cutoff_size -  ... :
  number of items to replace is not a multiple of replacement length

我想制作组[1],组[2],...变量像三角矩阵,但它不起作用。我的for循环R代码只生成一个组变量。

我该如何解决这个问题?

我想让我的数据集如下:

size event    time obs  group_1 group_2 group_3 group_4 group_5
0    1  7.213   1   1   0   0   0   0
0.2  0  103     2   1   1   0   0   0
0.3  0  156     3   1   1   1   0   0
0.4  0  125     4   1   1   1   1   0
0.5  2  98      5   1   1   1   1   1

1 个答案:

答案 0 :(得分:0)

不清楚你想要完成什么。如果您只想要基于阈值的组分离,请使用:

work$group=ifelse(work$obs<cutoff_size,0,1)
work
   size event    time obs group
1   0.0     1   7.213   1     0
2   0.2     0 103.000   2     0
3   0.3     0 156.000   3     0
20 19.0     1   3.934  73     1