我有一个数据表,其列名未提前知道
set.seed(1)
titles <- rep(letters[sample.int(3,replace = T)],2)
dt <- data.table( x = c(1, 1, 3, 1, 3, 1), y = c(1, 2, 1, 2, 1, 2) )
dt = dcast(dt, x+y ~ titles, fill=0, value.var = 'x')
> dt
x y a b
1: 1 1 1 0
2: 1 2 1 2
3: 3 1 0 2
我希望删除最后一列为0的行,但“子集”不起作用。为什么呢?
dt <- subset( dt, last(titles) > 0 )
我最好使用data.table方法。
答案 0 :(得分:1)
我们可以使用get
dt[get(last(titles))!=0]