將ordner行可以說,我有行的DS:跳躍/交替順序,在數據幀
cat
dog
lion
miau
wuff
roarr
我想訂購他們在一個序列
cat
miau
dog
wuff
lion
roarr
爲了做到這一點我需要用序列
1 4 2 5 3 6
讓我們用任意N更一般的例子來訂購它:
n <- 10
ds < data.frame(col=c(paste0(letters[1:n],1),paste0(letters[1:n],2)),stringsAsFactors = F)
ds[,] <- ds[mySeq,]
如何爲所有類型的n生成序列(mySeq)?
> ds
col
1 a1
2 b1
3 c1
4 d1
5 e1
6 f1
7 g1
8 h1
9 i1
10 j1
11 a2
12 b2
13 c2
14 d2
15 e2
16 f2
17 g2
18 h2
19 i2
20 j2
>
編輯: 我能想象到拉鍊序列1:(nrow(DS)/ 2)和(nrow(DS)/ 2 + 1):nrow(DS)。 所以如果n變高,我需要壓縮很多seqs。不太實際。
的gtools mixedsort()的 「隨機」 行不會工作:
set.seed(1337)
MHmakeRandomString <- function(n=1, lenght=12)
{
randomString <- c(1:n) # initialize vector
for (i in 1:n)
{
randomString[i] <- paste(sample(c(0:9, letters, LETTERS),
lenght, replace=TRUE),
collapse="")
}
return(randomString)
}
ds <- data.frame(col=c(paste0(MHmakeRandomString(n),1),paste0(MHmakeRandomString(n),2)),stringsAsFactors = F)
dso <- mixedsort(ds)
我想我需要一個序列!
我更新了我的第一個小例子!
'DS $ COL [順序(GSUB(\\ d +', '',DS $ COL))]' – Sotos