У меня есть следующий data.table
объект:
USER active rate day # of elements by hour
4q7C0o 1 1.48 1 c(-10, 0, 0, 0, -5, -5, 5, 98, 167, 211, 246)
2BrKY63 1 0.5 3 c(-11, 0, 0, 0, -1, -1, 0, 5, 15, 24, 89, 187)
3drUy6I 1 2.58 5 c(-20, 0, -9, 0, 0, 0, 0, 0, 1, 112, 265, 309)
G5ALtO 1 1.1 7 c(-183, -1, 0, 0, 0, 0, 0, 2, 20, 153, 170)
Я хотел бы сохранить только элементы> = 0 в каждом из списков в столбце # of elements by hour
, чтобы получить что-то подобное :
USER active rate day # of elements by hour
4q7C0o 1 1.48 1 c( 0, 0, 0, 5, 98, 167, 211, 246)
2BrKY63 1 0.5 3 c( 0, 0, 0, 0, 5, 15, 24, 89, 187)
3drUy6I 1 2.58 5 c( 0, 0, 0, 0, 0, 0, 1, 112, 265, 309)
G5ALtO 1 1.1 7 c( 0, 0, 0, 0, 0, 2, 20, 153, 170)
Я попробовал следующий подход, но он занимает слишком много времени, и когда я использую меньшее количество данных, это дает странные результаты:
DT[, # of elements by hour[which(unlist(# of elements by hour) >= 0)], day ]
Любое предложение в том, что я Я делаю не так? или лучше сделать это быстрее?