2

前のメッセージ で テーブルを列名でマトリックスに変換

csv テーブルまたは R のテーブルに同じアプローチを使用したいのですが、最初のコマンド ラインを変更する方法を教えていただけませんか?

x <- read.table(textConnection(' models cores  time 4 1 0.000365 4 2 0.000259 4 3 0.000239 4 4 0.000220 8 1 0.000259 8 2 0.000249 8 3 0.000251 8 4 0.000258' ), header=TRUE)   

library(reshape) cast(x, models ~ cores)

data.csv ファイルに以下を使用する必要がありますか

x <- read.csv(textConnection("data.csv"), header=TRUE)

xyzという名前のRテーブルに次を使用する必要がありますか

x <- xyz(textConnection(xyz), header=TRUE)

キャストコマンドを使用するには、textConnection が必要ですか?

ありがとうございました。

4

1 に答える 1

19

数年後…

read.tableおよびその派生物read.csvには引数があるため、 s を直接textいじる必要はもうありません。textConnection

read.table(text = "
x y z
1 1.9 'a'
2 0.6 'b'
", header = TRUE)

の主な用途textConnectionは、回答者が自分でデータを生成できるようにコードを記述するのではなく、SO で質問をする人がデータを画面上にダンプする場合です。例えば、

何とか何とか何とか私はここで立ち往生しています私のデータですplz help omg
xyz
1 1.9 'a'
2 0.6 'b'
など.

この場合、次のtextConnectionように、画面からテキストをコピーして への呼び出しでラップできます。

the_data <- read.table(tc <- textConnection("x y z
1 1.9 'a'
2 0.6 'b'"), header = TRUE); close(tc)

質問者が次のようなコードを提供すると、はるかに優れています。

the_data <- data.frame(x = 1:2, b = c(2.9, 0.6), c = letters[1:2])

独自のデータを使用している場合は、使用する必要はありませんtextConnection
my_data <- read.csv("my data file.csv")十分なはずです。

于 2011-04-11T17:03:07.790 に答える