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 = "-")]