检查 R 中的变量数据类型

Sheeraz Gul 2023年1月30日 2022年7月18日
  1. 检查 R 中的变量数据类型
  2. 检查 R 中一个变量的数据类型
  3. 检查 R 中数据框中每个变量的数据类型
  4. 检查变量是否是 R 中的特定数据类型
检查 R 中的变量数据类型

有不同的方法来检查不同数据类型的变量的数据类型。本教程演示如何检查 R 中变量的数据类型。

检查 R 中的变量数据类型

R 中的许多方法可用于检查变量的数据类型。这些方法在下面给出。

# for checking data type of one variable
typeof(x)
class(x)

# for checking the data type of every variable in a data frame
str(dataframe)

# for checking if a variable is a specific data type
is.factor(x)
is.numeric(x)
is.logical(x)
is.complex(x)
is.integer()

让我们一一尝试每种方法。

检查 R 中一个变量的数据类型

有两种方法可以检查单个变量或对象的数据类型,typeof() 方法和 class() 方法。这两种方法都采用一个参数,即变量或对象。

让我们为这两种方法尝试一个示例。

#define variable Demo
Demo <- c("Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4", "Delftstack5", "Delftstack6")

#check the data type of Demo using typeof method
print('The output for typeof method:')
typeof(Demo)

#check the data type of Demo using the class method
print('The output for class method:')
class(Demo)

上面的代码将使用 typeof() 方法检查变量类型,然后使用 class() 方法。见输出:

[1] "The output for typeof method:"
[1] "character"

[1] "The output for class method:"
[1] "character"

检查 R 中数据框中每个变量的数据类型

str() 方法用于检查数据框中每个变量的数据类型。它接受一个参数,即数据帧。

参见示例:

#create a data frame
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

#View the dataframe
Delftstack

#Check the data type of every variable in dataframe
str(Delftstack)

上面的代码检查数据框中每个变量的数据类型。见输出:

      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

'data.frame':	5 obs. of  4 variables:
 $ Name       : chr  "Jack" "John" "Mike" "Michelle" ...
 $ LastName   : chr  "Danials" "Cena" "Chandler" "McCool" ...
 $ Id         : num  101 102 103 104 105
 $ Designation: chr  "CEO" "Project Manager" "Senior Dev" "Junior Dev" ...

检查变量是否是 R 中的特定数据类型

有几种方法可以检查变量是否属于特定类型,每种数据类型都有一种方法。每个方法都将变量作为参数并返回 TrueFalse

让我们尝试一个示例来展示每种方法。

#create variables
a <- 3

b <- 5.3

c <- "Delftstack"

d <- TRUE

e <- factor(c('A', 'B', 'C', 'D'))

i <- as.integer(a)


## Check types of variables

print(is.numeric(a))

print(is.complex(b))

print(is.character(c))

print(is.logical(d))

print(is.factor(e))

print(is.integer(i))

上面的代码为每种类型创建一个变量,并检查它是否具有相应的数据类型。见输出:

> ## Check types of variables

[1] TRUE

[1] FALSE

[1] TRUE

[1] TRUE

[1] TRUE

[1] TRUE

代码显示变量 b 不是复杂类型变量;所有其他变量都具有与方法相同的数据类型。

我们还可以使用这些方法来检查数据框列的数据类型。参见示例:

#create a data frame
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


#check if Name column is character
is.character(Delftstack$Name)

#check if LastName column is complex
is.complex(Delftstack$LastName)

#check if the Id column is numeric
is.numeric(Delftstack$Id)

上面的代码检查数据框的一列是否是特定类型的数据。见输出:

> #check if Name column is character
[1] TRUE

> #check if LastName column is complex
[1] FALSE

> #check if Id column is numeric
[1] TRUE
Author: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook