1. ホーム
  2. r

[解決済み] データフレームのカラムのデータ型を決定する

2022-04-23 18:50:51

質問

Rを使用していて、データをデータフレームに読み込む際に read.csv() . データフレーム内の各列のデータ型を決定するにはどうすればよいですか?

どのように解決するのですか?

まず一番良い方法は ?str() . いくつかの例を調べるために、いくつかのデータを作ってみましょう。

set.seed(3221)  # this makes the example exactly reproducible
my.data <- data.frame(y=rnorm(5), 
                      x1=c(1:5), 
                      x2=c(TRUE, TRUE, FALSE, FALSE, FALSE),
                      X3=letters[1:5])

Wilmer E Henao Hさんのソリューションは、とても合理的ですね。

sapply(my.data, class)
        y        x1        x2        X3 
"numeric" "integer" "logical"  "factor" 

使用方法 str() は、その情報に加えて、より良い情報 (要因のレベルや各変数の最初のいくつかの値など) を取得します。

str(my.data)
'data.frame':  5 obs. of  4 variables:
$ y : num  1.03 1.599 -0.818 0.872 -2.682
$ x1: int  1 2 3 4 5
$ x2: logi  TRUE TRUE FALSE FALSE FALSE
$ X3: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5

Gavin Simpsonのアプローチも合理的ですが、以下のものとは若干異なる情報を提供します。 class() :

sapply(my.data, typeof)
       y        x1        x2        X3 
"double" "integer" "logical" "integer"

の詳細については、こちらをご覧ください。 class , typeof と、真ん中の子。 mode は、この素晴らしいSOスレッドをご覧ください。 Rの物事のタイプの包括的な調査。「モード」と「クラス」と「typeof」では不十分 .