2013-08-29 3 views
13

データフレームをtxt形式またはExcel形式で保存する方法について質問があります。私はそれを保存するとき、私はRのデータフレームを持っていますが、:列で区切られたtxtファイルまたはExcelファイルにデータフレームを保存する方法

  1. まず、私はExcelで例えば保存されたデータフレームを開いたときに、write.table()機能を使用して、すべての列が1列にグループ化され、あなたが列をsepareする必要がデータを失うリスクのExcel。 write.csv()機能でも同じことが起こります。

すべての列が分離されたデータフレームをRに保存することは可能ですか?ありがとう。

+1

「書き込み」するサンプルデータを表示してください。 – Metrics

+0

またメモ帳を使用して書かれたファイルを開いて確認してください。コンマで区切られていますか?タブ?セミコロン? – Nishanth

+0

'write.csv2'を試しましたか? – Roland

答えて

1

write.csv()でこれを行うことができます。

これは私のマシンで動作する例です。 を作成し、write.csvで保存し、問題なくExcelで開きます。

a <- 1:5 
b <- 6:10 
c <- 11:15 

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

write.csv(df, 'test2.csv') 
1

保存しているファイルが問題なく、Excelに間違って読み込まれている可能性があります(例がないと分かりません)。 Excelにインポートする際に、セパレータとその他のオプションを指定する方法があります。 write.tableにいくつかのオプションを設定することで、プロセスを簡素化することもできます。地域の設定も確認してください。デフォルトのセパレータは、コンピュータがヨーロッパ(または特定の国)または米国(または他の特定の国)にあると考えているかどうかによって異なる場合があります。

テキストファイルを使わずにExcelファイルを直接作成するXLConnectパッケージを見たい場合があります。 (ファイルを書き出すためにも書き込むいくつかのパッケージがありますが、XLConnectは私が最もよく経験したものです)。

迅速秀でるためにデータフレームや行列を転送するための別のオプション(少なくともWindows上では、これは他のOS上で動作するかどうかわからない)セルにExcelのウィンドウをクリックして、その後、file="clipboard"sep="\t"と書き込みテーブルを使用することです「貼り付け」を実行すると、データはファイルではなくクリップボードを介してExcelに保存されます。

2

write.tableのデフォルトの区切り文字は、単一のスペースです。 .txtはスプレッドシートを意味するためによく使用されますが、実際にはそれがテキストファイルであることだけが示しています。もしあなたが欲しいものが.tsvであるか、またはタブで区切られた値を持つファイルであれば、write.table(x,sep="\t")を試すことができます。これにより、ファイルを区切るタブが表示され、ファイルを開こうとするとExcelがそのファイルを選択します。私は実際に?write.table(と私たちがいる間に?read.table)を与えることをお勧めします。実際には、たとえあなたのコードが完璧であっても、データを不適切に読み書きすると、何が問題なのでしょうか?

7

これを達成するための私のお気に入りの方法は、(私は頻繁に非RのユーザーとRに処理され、それらは単にダブルクリックをすることが便利であるデータフレームを共有し、それをExcelでうまく開く持っている必要があるので)である:

write.table(x,"filename.txt",sep="\t",row.names=FALSE) 

上記のように、sep="\t"引数タブでファイルを区切りますが、必要でない限り行名を削除すると便利です。

0

以下を使用してください。

インストールしてください。パッケージ(openxlsx) ライブラリ(openxlsx)

write.xlsx(データフレーム、 "C:/Users/santoshr/Desktop/export10.xlsx"、SHEETNAME = "シート1"、col.names = TRUE、showNA = FALSE)

関連する問題