我正在使用 R 并将数据加载到使用read.csv(). 如何确定数据框中每一列的数据类型?
read.csv()
最好的选择是使用?str(). 为了探索一些例子,让我们做一些数据:
?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()
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():
class()
sapply(my.data, typeof) y x1 x2 X3 "double" "integer" "logical" "integer"