R语言 检查每个数据框架列的数据类型

R语言 检查每个数据框架列的数据类型

在这篇文章中,我们将讨论如何使用R编程语言识别给定数据框架中某一列的变量的数据类型。我们将在本文中使用 str()和sapply() 函数来检查数据框架中每一列的数据类型。

方法1: 使用str()函数

R语言中的 str() 函数用于紧凑地显示一个R对象的内部结构。它甚至可以显示嵌套的大型列表的内部结构。它为基本的R对象提供单行输出,让用户了解该对象及其组成成分。

例1: 在下面的代码中,我们将一个 数据框架 作为参数传给 str() 函数,因为我们想检查它的数据类型。注意 “name “列被识别为 Factor ,roll列被识别为 num或numeric ,date列被识别为 Date (因为我们已经使用 as.Date() 函数将其转换为 Date数据类型),pwd列被识别为 logi或Logic 数据类型。

语法 :str(object, …)

参数object :任何需要信息的R对象。

代码

# sample dataframe
df <- data.frame(name = c("Welcome", "to", "Geeks", "for", "Geeks"),
                 roll = c(10, 40.1, 50.5, 80, 70),
                 date = as.Date(c("2001-10-30","2000-01-21",
                                  "1999-02-16","1950-12-03"
                                  ,"1995-11-09")),
                   
                 pwd = c(FALSE, TRUE, TRUE, TRUE, FALSE)
                 )
# checks the data type of each column
str(df)

输出

'data.frame':    5 obs. of  4 variables:
 name: Factor w/ 4 levels "for","Geeks",..: 4 3 2 1 2 roll: num  10 40.1 50.5 80 70
 date: Date, format: "2001-10-30" "2000-01-21" ... pwd : logi  FALSE TRUE TRUE TRUE FALSE

例2 :

注意在前面的例子中, “name “列被识别为 Factor 数据类型。如果你想让 “name “列被识别为 chr或字符 数据类型,我们可以在定义数据框架时传递 ” stringAsFactors=FALSE “作为参数。

语法

stringAsFactors= FALSE
# sample dataframe
df <- data.frame(name = c("Welcome", "to", "Geeks", "for", "Geeks"),
                 roll = c(10, 40.1, 50.5, 80, 70),
                 date = as.Date(c("2001-10-30","2000-01-21","1999-02-16",
                                  "1950-12-03","1995-11-09")),
                 pwd = c(FALSE, TRUE, TRUE, TRUE, FALSE), 
                 stringsAsFactors = FALSE
                 )
  
# checks the data type of each column
str(df)

输出

'data.frame':    5 obs. of  4 variables:
 name: chr  "Welcome" "to" "Geeks" "for" ... roll: num  10 40.1 50.5 80 70
 date: Date, format: "2001-10-30" "2000-01-21" ... pwd : logi  FALSE TRUE TRUE TRUE FALSE

方法2: 使用sapply()和class()函数

R语言中的 sapply() 函数将一个列表、向量或数据框作为输入,并给出向量或矩阵的输出。它对列表对象的操作很有用,并返回一个与原始集合相同长度的列表对象。

语法 :sapply(X, FUN)

参数 :

X : 一个向量或一个对象

FUN : 应用于X的每个元素的函数

sapply() 函数 以一个对象(本例中为数据框架 “df”)和一个函数(本例中为class())为参数,并将函数应用于对象(本例中为数据框架)的每个元素。在下面的代码中,我们使用 sapply() 函数将 class() 函数应用于数据框架的每一列, class() 函数返回该列的数据类型。

代码

# sample dataframe
df <- data.frame(name = c("Welcome", "to", "Geeks", "for", "Geeks"),
                 roll = c(10, 40.1, 50.5, 80, 70),
                 date = as.Date(c("2001-10-30","2000-01-21","1999-02-16",
                                  "1950-12-03","1995-11-09")),
                 pwd = c(FALSE, TRUE, TRUE, TRUE, FALSE), 
                 stringsAsFactors = FALSE
                 )
  
# checks the data type of each column
sapply(df,class)

输出

 name        roll        date         pwd 
"character"   "numeric"      "Date"   "logical" 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程