小编典典

确定数据框列的数据类型

all

我正在使用 R 并将数据加载到使用read.csv(). 如何确定数据框中每一列的数据类型?


阅读 101

收藏
2022-06-28

共1个答案

小编典典

最好的选择是使用?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"
2022-06-28