我有以下的data.table
对象:
USER active rate day # of elements by hour
4q7C0o 1 1.48 1 c(0, 0, 0, 0, 0, 0, 5, 98, 167, 211, 246)
2BrKY63 1 0.5 3 c(0, 0, 0, 0, 0, 0, 0, 5, 15, 24, 89, 187)
3drUy6I 1 2.58 5 c(0, 0, 0, 0, 0, 0, 0, 0, 1, 112, 265, 309)
G5ALtO 1 1.1 7 c(0, 0, 0, 0, 0, 0, 0, 2, 20, 153, 170)
每个“#按小时元素数量”列的元素都是一个长度不同的列表。我想对每个列表的每个元素应用函数“pexp()”(例如,对于第一个列表的第一个元素,应用pexp(0,rate = 1.48)以及对于第一个列表的最后一个元素,应用pexp(246, rate = 1.48)),如果发生小于“x”的值,则在新列中显示它。类似于:
DT[, ifelse(any(lapply( of elements by hour, pexp, rate = rate) < x), 'no.usable','usable' ) ,]
然而我不知道如何在data.table
中以简短的方式完成这项任务。