大きなデータフレーム内の列の並べ替え 質問する

大きなデータフレーム内の列の並べ替え 質問する

次のサンプルデータフレームを使用します。

a <-  c(1:5)
b <- c("Cat", "Dog", "Rabbit", "Cat", "Dog")
c <- c("Dog", "Rabbit", "Cat", "Dog", "Dog")
d <- c("Rabbit", "Cat", "Dog", "Dog", "Rabbit")
e <- c("Cat", "Dog", "Dog", "Rabbit", "Cat")
f <- c("Cat", "Dog", "Dog", "Rabbit", "Cat")

df <- data.frame(a,b,c,d,e,f)

すべての列名を入力しなくても列を並べ替える方法を調べたい。つまり、df[,c("a","d","e","f","b","c")]

列 b と c を列 f の後に指定するにはどうすればよいでしょうか? (移動したい列または列の範囲のみを参照しますか?)。

ご協力をよろしくお願いいたします。

ベストアンサー1

特定の列をデータフレームの先頭または末尾に移動するにはselectdplyrパッケージとそのeverything()機能。この例では、最後に送信しています。

library(dplyr)
df %>%
  select(-b, -c, everything())

  a      d      e      f      b      c
1 1 Rabbit    Cat    Cat    Cat    Dog
2 2    Cat    Dog    Dog    Dog Rabbit
3 3    Dog    Dog    Dog Rabbit    Cat
4 4    Dog Rabbit Rabbit    Cat    Dog
5 5 Rabbit    Cat    Cat    Dog    Dog

否定がない場合、列は最前列に送られます。

おすすめ記事