「Rにデータを入力する」の編集履歴(バックアップ)一覧に戻る

Rにデータを入力する - (2006/05/24 (水) 22:22:26) のソース

***ごく少ないデータの場合

データを取りまとめるc()を使う。括弧の中に、コンマで区切ってデータを入れればいい。たとえばこんな感じ。

>x <- c(155,160,170)

***ある程度大きなデータをキー入力する場合
普通はエクセルなどの表計算ソフトをつかってデータ入力はすませ、そのファイルを読み込むのが定石である。

(邪道だが)下のような関数をつくっておくと、エクセルなど表計算ソフトや余計なファイルを用意しなくても済む。
>inputedit <- function(n){
>x <- edit(matrix(rep(0,n*n),nrow=n)) 
>return(x)} 
データの列数と行数をnで与えてやると、n×nの表が現われる。
>inputedit(10)
使い方はこんな感じ。これだと10×10の表が現われる。
>x <- inputedit(10)
とタイプすると、表計算のような画面が現われるので、ガシガシそこに打ち込んでいけばいい。この場合だと、行列データが変数xに入る。
出てくる表で、データ入力や変更だけでなく、変数名や変数型も変更できる。変えたいところをクリックすればいい。

***エクセルなどの既存ファイルからデータをコピペする場合
Windows の場合は次のような関数をつくっておくといい。

>excel.w <- function(nc){
>matrix(scan("clipboard"), byrow=TRUE,ncol=nc)
>}
まず、Excelの表を開き,その上で必要なデータ範囲をコピーする。
次に、excel.w 関数を使う。引数は,列数を表す数値である。たとえば下のような感じである。
>x <- excel.w(4)
Macintosh の場合も次のような関数をつくっておくといい。少し使い勝手が違うが、
>excel <- function(nc){
>matrix(scan(""), byrow=TRUE, ncol=nc)
>}
まず、同じくExcelの表を開き,その上で必要なデータ範囲をコピーする。
次にexcel.w 関数を使う。引数は,列数を表す数値である。たとえば下のような感じである。
>x <- excel(4)
データ入力プロンプトが出たら,ペーストする。
Macの場合mデータが読みとられても,さらなるプロンプトが出るので、データの終わりを示すために
>command + .
の後,リターンキーを押す

これでOK。

***エクセルなどの既存ファイルからデータを読み込む場合

エクセルなどのファイルがあり、データ量も結構ある場合は、ファイルを読み込ませるといい。
まずエクセルで必要なファイルを開き、csv形式でセーブしなおす。これでread.csv()という関数で読み込むことができるようになった。read.csv()の括弧の中には""でくくったファイル名(ディレクトリ)を入れる。
>x <- read.csv("D:/hoge/hoge.csv") 
これで変数xにデータフレーム型のデータが入る。
ファイルはネット上にあってもかまわない。Web上のデータをそのまま読み込むには、
>x <- read.csv("http://plaza.umin.ac.jp/~takeshou/R/dat/data01.csv")
とURL込みでファイルを指定してやればいい。

タブ区切りのデータファイル場合には、read.delim()を使う。 
>x <- read.delim("D:/hoge/hoge.dat") 
 
注意として、1行目に変数名が入っていない場合はread.csv、read.delimともに『header=F』という項目を追加しないといけない。例えばこんな風に。
>x <- read.csv("D:/hoge/hoge.csv", header=F) 
なお『header=F』は『h=F』と省略することもできる。 
目安箱バナー