我试图理解为什么我不能通过我在同一行创建的新变量进行排序。
目前我需要写两行,一行用于创建新变量,然后用于排序。
可以在 data.table :
的同一行中完成DF <- data.table(ID = c(1,2,1,2,1,1,1,1,2), Value = c(1,1,1,1,1,1,1,1,1))
newDF <- DF[order(-Count), .(Count = .N), by = ID]
# Gives error: Error in eval(v, x, parent.frame()) : object 'Count' not found
# Works Correctly
newDF <- DF[, .(Count = .N), by = ID]
newDF <- newDF[order(-Count)]
> newDF
ID Count
1: 1 6
2: 2 3
答案 0 :(得分:4)
您可以简单地将两个操作链接在一行中,
DF[, .(Count = .N), by = ID][order(-Count)]