在某种情况下,我无法在数据框中添加多行。
我的数据集看起来像这样:
ID TIME DV
1 0.5 1
1 2 2.3
1 30 0.02
1 35 0.01
2 0.4 0.9
2 2 2.8
2 30 0.01
现在我想在条件TIME> 30下为多个ID添加行。
输出应该如下所示
ID TIME DV
1 0.5 1
1 2 2.3
1 30 0.02
1 35 0.01
1 100 0
2 0.4 0.9
2 2 2.8
2 30 0.01
我尝试过以下代码:
cond <- data2[data2$TIME > 30,]
cond_1 <- rownames(cond)
for(i in cond_1){data2 <- rbind(data2[1:i,],newrow,data2[-(1:i),])}
适用于第一次插入,但由于每次添加新行时行号都会改变,因此对其余行不起作用。
不幸的是我不知道如何解决这个问题,数据集很大,手动完成...
非常感谢你!
亲切的问候
答案 0 :(得分:0)
你可以尝试
library(data.table)
setDT(data2)
rbind(data2, data2[, .SD[TIME>30] , ID] [, 2:3 := NA])