Когда я Манипуляции с таблицами с помощью by=
, результирующая таблица имеет тот же порядок записей как в исходной таблице:пользовательский вид `по =`
dt1 <- fread(
"colA,colB
B,3
A,1
C,2
B,1
C,2
")
desired <- c('A', 'C', 'B')
#> dt1[, mean(colB), by=colA]
# colA V1
#1: B 2
#2: A 1
#3: C 2
Но что, если мне нужно, чтобы он в не в этом первоначальном порядке (B A C
здесь), а не в обычном sort()
порядке (который будет A B C
или C B A
), но в моем обычном порядке (скажем, A C B
)? Должен ли я каким-то образом использовать rank
с итоговой таблицей?
В качестве альтернативы вы можете присоединиться к следующему: 'DT1 [, средний (colB), keyby = КОЛ]' [(желательно).]. или просто 'dt1 [, mean (colB), keyby = colA] [желательно]' (потому что это столбец с одним символом). – Arun
@Arun - Когда я запускаю это и получаю столбец 'NA' в' V1' –
Это из-за пробелов в его 'dt1 $ colA'. Сделайте 'dt1 [, colA: = gsub (" "," ", colA)]', а затем повторите попытку. – Arun