データフレームの列の並び替えはどのように行うのですか?
この入力(時間、入力、出力、ファイルという順序)をどのように変更するか。
Time In Out Files
1 2 3 4
2 3 4 5
この出力に(順番は、time、out、in、files)?
Time Out In Files
1 3 2 4
2 4 3 5
ダミーのRデータはこちら'。
table <- data.frame(Time=c(1,2), In=c(2,3), Out=c(3,4), Files=c(4,5))
table
## Time In Out Files
##1 1 2 3 4
##2 2 3 4 5
275
10
dataframeには4つの列があり、
df[,c(1,2,3,4)]
のようになります。 最初のコンマはすべての行を保持することを意味し、1,2,3,4はカラムを指すことに注意してください。上記の質問のように順番を変えるには、
df2[,c(1,3,2,4)]
とします。このファイルをcsvとして出力したい場合は、
write.csv(df2, file="somedf.csv")
とする。また、サブセット機能を使うこともできます。
[このコメント][1]で述べたように、「data.frame」の列を再注文するための標準的な提案は、特に列が多い場合、一般的に扱いにくく、エラーが発生しやすくなります。
この関数を使用すると、列を位置ごとに再配置できます。変数名と目的の位置を指定し、他の列については心配しないでください。
多分それはあなたが望む列の順序がたまたまアルファベット順に列名を持っているのは偶然です。 それはあなたがただできるケースなので:
data.tableパッケージを使用できる場合、これは適切でコンパクトな方法を提供します。
https://stackoverflow.com/questions/12232041/how-to-reorder-data-table-columns-without-copying。
[3][1] [トップレート][2] [回答][3]には弱点があります。
データフレームが次のようになります。
次に、使用するのは不十分なソリューションです。
それは仕事をしますが、あなたはあなたの入力のコラムの順序への依存を導入しました。
このスタイルのもろいプログラミングは避けてください。
列の明示的な命名は、より良いソリューションです。
さらに、より一般的な設定でコードを再利用する場合は、簡単にできます。
私がよく見たのは[ここ][1]だけです。