次のサンプルデータフレームを使用します。
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
特定の列をデータフレームの先頭または末尾に移動するにはselect
、dplyrパッケージとその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
否定がない場合、列は最前列に送られます。