FC2ブログ

 日々の研究生活での出来事,考えたことなどのメモ。あるいはお知らせ。

  お知らせのナビゲーター   トップページ > 2012年05月  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

データフレームの型名を調べる

2012 - 05/04 [Fri] - 12:13

 統計解析ソフトRにおいて,データフレームの型名を調べるには『class()』関数を利用します。例えば,datと言うデータフレームを作成した場合,『class(dat[,1])』とすれば,1列目の変数の型名が出力されます。しかし,この方法では1変数ずつしかチェックできませんので,結構不便です。そこで以下のようなzoku()関数を作成しました。


zoku <- function(dat){
n <- ncol(dat)
データ型 <- vector(mode="character", length=n)
変数名 <- names(dat)
for(i in 1:n){
データ型[i] <- class(dat[,i])
}
data.frame(変数名, データ型)
}

 試しにこの関数を実行してみます。ここではフィッシャーのirisというデータフレームを使用してみましょう。このデータは以下のようなものです。

> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

 これをzoku()関数に読み込ませると以下のようになります。

> zoku(iris)
変数名 データ型
1 Sepal.Length numeric
2 Sepal.Width numeric
3 Petal.Length numeric
4 Petal.Width numeric
5 Species factor

 ただ同じ事はfor文を使わずに,sapply()関数を使っても可能です。

> sapply(iris, class)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
"numeric" "numeric" "numeric" "numeric" "factor"

本来的にはこちらの方が『正しい』のかもしれません。

スポンサーサイト

 | HOME | 

プロフィール

管理者

 専門は心理統計学で構造方程式モデリングを中心に探索的分析法の研究をしています。

 ・著書:5冊
 ・翻訳:2冊
 ・査読論文:4本
 ・紀要論文:2本
 ・報告書等:2本
 ・国際発表:5回
 ・国内発表:12回

最近の記事+コメント

カテゴリ

全記事一覧表示

過去の記事

カウンタ

現在の閲覧者数

カレンダー

04 | 2012/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

ブログ内検索

リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。