R粘贴不考虑因子顺序

R粘贴不考虑因子顺序,r,data.table,paste,R,Data.table,Paste,我有一个有两列的数据集 library(data.table) DT <- data.table(x = rep(LETTERS[1:4], each = 25), y = rep(25:1, times = 4)) 我希望列表以A-1开头,但它以A-25开头。由于x的非字母顺序,我无法使用setkey重新排序,这将重新排序DT中的实际数据 如何将x和y粘贴在一起,并使它们遵守我在z中指定的因素顺序 这样做是为了对你的DT$y进行排序:DT我刚才用数字作为MWE@time,所以它们实际

我有一个有两列的数据集

library(data.table)

DT <- data.table(x = rep(LETTERS[1:4], each = 25), y = rep(25:1, times = 4))
我希望列表以
A-1
开头,但它以
A-25
开头。由于
x
的非字母顺序,我无法使用
setkey
重新排序,这将重新排序
DT
中的实际数据


如何将
x
y
粘贴在一起,并使它们遵守我在
z
中指定的因素顺序

这样做是为了对你的
DT$y
进行排序:
DT我刚才用数字作为MWE@time,所以它们实际上最终会成为因子。@time不,我希望
1
被编码为第一个。但是收集数据的方式首先出现了
25
。这样做是为了对你的
DT$y
进行排序:
DT我只是用数字作为MWE@time,所以它们实际上是因子。@time不,我希望
1
被编码为第一个。但是收集数据的方式首先出现的是
25
DT$x <- factor(DT$x, levels = c("A","B","D","C"))
DT$y <- factor(DT$y, levels = 1:25)
DT[ , z := paste(DT$x, DT$y, sep = "-")]