異なるcol_namesがアルファベット順にランダムに分散された大きなDF(数百および数百)列がある場合:
df.x <- data.frame(2:11, 1:10, rnorm(10))
colnames(df.x) <- c("ID", "string", "delta")
すべてのデータを(垂直に)col_nameでアルファベット順に並べるにはどうすればよいですか?
基本的に、数百のCSV(sep = "|")テキストファイルがあり、それらの列を単一のdfに読み取り、それらの列をアルファベット順に並べ、次に他のdplyf関数を使用して最終結果を取得する必要があります。列をアルファベット順に並べる方法を除き、このすべてを把握しました。列をアルファベット順(上下)に並べ替えるのではなく、col_namesとそれに対応するデータの実際の垂直方向を並べ替えます。 Excelのデータ列全体の切り取りと貼り付けに似ています。
たとえば、私はこのアプローチをレビューしましたが、これは行をアルファベット順に「ソート」するもので、これは私がやろうとしていることではありません。
ありがとう!
これを試して
df %>% select(noquote(order(colnames(df))))
あるいは単に
df[,order(colnames(df))]
Dplyrでこれを行う別の方法は次のとおりです。
_iris %>%
select(sort(current_vars()))
_
current_vars()
はソート可能な列名を返し、select()
は列名のベクトルを取ります。