2009-08-12 7 views
13

このデータがRであり、stackoverflowで質問を投稿したいとします。他の人があなたを助けてくれるようにするには、あなたのオブジェクト(データフレーム、ベクトルなど)のコピーを扱うことができればうれしいでしょう。他人が再作成できるように、Rオブジェクトの定義をプレーンテキストにエクスポートするにはどうすればよいですか?

のは、あなたのデータはあなたがそれを持っているとおりにユーザーがデータを再作成することができるようにあなたがそれをパッケージ化するにはどうすればよい

> site.data 
    site year  peak 
1 ALBEN 5 101529.6 
2 ALBEN 10 117483.4 
3 ALBEN 20 132960.9 
8 ALDER 5 6561.3 
9 ALDER 10 7897.1 
10 ALDER 20 9208.1 
15 AMERI 5 43656.5 
16 AMERI 10 51475.3 
17 AMERI 20 58854.4 

site.dataと呼ばれるデータフレームであるとしましょうか?

テキストファイルをダウンロードしてインポートしなくても、これを行うことができます。

(注:これらのデータは、回転のブログの例からサブセット)

+0

ここでこれを取得するのは非常にスマートです。 –

答えて

19

dputコマンドは、ASCII表現を書き込みます。ファイル名のかわりに、あなたはsite.data =「あなたのコード例では、人々がデータを再作成することができるようになります「それだけで構造をコピーした後にそれを置くコンソール

> dput(site.data,"") 
structure(list(site = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 
3L, 3L), .Label = c("ALBEN", "ALDER", "AMERI"), class = "factor"), 
    year = c(5L, 10L, 20L, 5L, 10L, 20L, 5L, 10L, 20L), peak = c(101529.6, 
    117483.4, 132960.9, 6561.3, 7897.1, 9208.1, 43656.5, 51475.3, 
    58854.4)), .Names = c("site", "year", "peak"), row.names = c(1L, 
2L, 3L, 8L, 9L, 10L, 15L, 16L, 17L), class = "data.frame") 

にそれを書きます」」を入れた場合あなたが持っているのとまったく同じです。

6

実際、元の例では、データを列形式で貼り付けた方法は問題ありません。私はちょうど(私は素敵な「ペースト」コマンドを持っているOS Xを使用して)Webページからテキストをコピーして、これをしなかった:

> site.data <- read.table(pipe("pbpaste")) 

テストケースとして掲載何かのようなおもちゃのデータの場合、これはしばしばあります最良のアプローチ。 dggoldstによれば、dput()はきわめて正確です。

3

もう1つの方法は、Kenさんがクリップボードを使用していることです(Windows、おそらくLinuxの場合)。あなたのコードをコピーして実行します。

> site.data <- read.table("clipboard", header=T) 
> site.data 
    site year  peak 
1 ALBEN 5 101529.6 
2 ALBEN 10 117483.4 
3 ALBEN 20 132960.9 
8 ALDER 5 6561.3 
9 ALDER 10 7897.1 
10 ALDER 20 9208.1 
15 AMERI 5 43656.5 
16 AMERI 10 51475.3 
17 AMERI 20 58854.4 
関連する問題