我有這樣一個資料框架
a < - c(5, 7。 9, 11)
b < - c(-8。 -10。 -3, -1)
c < - c(-4。 -1, -6, 3)
d < - c(-4。 -1。 -6, 3)
df <- t(data. frame(a,b, c, d))
V1 V2 V3 V4
a 5 7 9 11
b -8 -10 -3 -1
c -4 - 1 -6 3
d -4 -1 -6 3
那么我希望其余的行保持相同的順序,只是把我想要的行(通過行名)設定在資料框的某個位置。
將d放在第二個位置 i.e:
V1 V2 V3 V4
a 5 7 9 11
d -4 -1 -6 3
b -8 -10 -3 -1
c -4 - 1 -6 3
對于c是在第一位置的 即:
V1 V2 V3 V4
c -4 - 1 -6 3
a 5 7 9 11
b -8 -10 -3 - 1
d -4 -1 -6 3
uj5u.com熱心網友回復:
我們可以創建一個函式
f1 < - function(dat, rownm, pos) {
full_rnm <- row.names(dat)
tmp <- full_rnm
nm1 <- setdiff(full_rnm, rownm)
rn <- seq_along(full_rnm)
tmp[pos] <- rownm
tmp[-pos]/span> <- nm1
dat[tmp,/span> ]
}
-測驗
> f1(df, "d", 2)
[,1] [。 2] [。 3] [,4]
a 5 7 9 11
d -4 -1 -6 3
b -8 -10 -3 -1
c -4 - 1 -6 3
> f1(df, "c", 1)
[,1] [, 2] [。 3] [,4]
c -4 - 1 -6 3
a 5 7 9 11
b -8 -10 -3 - 1
d -4 -1 -6 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322170.html
標籤:
上一篇:Rails范圍--如何回傳其子代完全匹配某個值的實體?
下一篇:R使用變數重命名Excel表
