出来心でコメントしてしまったのだけど、ダイアリーの方でも少し反応してみる。そんな面倒なことしなくても、Rはちゃんと直感的なインターフェイスを用意してくれているよ!というお話。
マニュアルによると、read.csv()はファイル名、またはコネクション*1が通るようです。
- the name of the file which the data are to be read from
- file can be a readable connection
コネクションが通るということは・・・
などなど、何でも通ってしまいます。
問題の、こういうデータをdata.frameとして読み込みたい時は、クリップボード経由かテキストコネクションとして読み込むと簡単かも。
hatiroku <- "id,sex
syou6162,male
Hash,male
kaeru_san,female
suztomo,male
kuroneko,female"
1. クリップボード
マニュアルの"connetoins"の項目にはこのような記述があります。
For file the description is either a path to the file to be opened or a complete URL, or "" (the default) or "stdin" or "clipboard" (see below).
ファイル名に"clipboard"を指定すると、クリップボードの読み書きが可能になります。なので・・・カンマ区切りのデータをクリップボードにコピーして、それを直接読み取ることができます。
> read.csv("clipboard") id sex 1 syou6162 male 2 Hash male 3 kaeru_san female 4 suztomo male 5 kuroneko female
あまりにもお手軽なので、最近はデータの受け渡しをクリップボードでやることがほとんどです。
2. テキストコネクション
あらかじめRの文字列としてデータが用意されている場合を考えます。普通に文字列を入力するとエラーになってしまうので、テキストコネクションに変換します。
> hatiroku <- "id,sex + syou6162,male + Hash,male + kaeru_san,female + suztomo,male + kuroneko,female" > read.csv(textConnection(hatiroku)) id sex 1 syou6162 male 2 Hash male 3 kaeru_san female 4 suztomo male 5 kuroneko female
他の言語ではこうは行かない。さすがR。