R语言 用列名将数据框架转换为矩阵

R语言 用列名将数据框架转换为矩阵

数据框和矩阵都是R对象,它们都允许将数据以表格的形式存储到组织良好的单元中。然而,数据框中的数据可以由不同的数据类型组成,也就是说,单元格可以包含属于不同数据类型的组合的数据。另一方面,矩阵严格允许一个单一的数据类型的值存储在其所有的数据元素中。如果满足以下条件,这些数据是可以相互转换的。

  • 数据框架不应该有NA或缺失的值。
  • 所有列中存储的数据类型应该是同一类型,即数字或字符类型。

R编程语言中的data.matrix()方法用于将数据框转换为数字矩阵。数据框中包含的所有变量都被转换为相应的数字模式,然后将其绑定以形成矩阵的列。然而,字符值没有被保留,而是被转换为等效的整数值,以保持矩阵数据类型的统一性。在相互转换过程中,列名被保留。

语法: data.matrix(dataframe, rownames.force = NA)

参数:

  • dataframe – 要转换为矩阵的数据框架
  • rownames.force – 逻辑上决定生成的矩阵是否应该有字符(而不是NULL)行名。

例1 :

# declaring a data frame in R
data_frame = data.frame(C1= c(5:8), C2 = c("ab","b","C","d"))
  
print("Original data frame")
print(data_frame)
  
# converting the data frame into matrix 
mat = data.matrix(data_frame)
  
print ("matrix of the above data frame")
print (mat)

输出:

[1] “Original data frame”

C1 C2

1  5 ab

2  6  b

3  7  C

4  8  d

[1] “matrix of the above data frame”

C1 C2

[1,]  5  1

[2,]  6  2

[3,]  7  3

[4,]  8  4

然而,这种转换有一个例外,那就是如果作为输入的数据完全是数字,包括整数和浮点小数,那么同样的数据会作为输出返回,而不需要任何相互转换。

例2 :

# declaring a data frame in R
data_frame = data.frame(C1= c(5:8),C2 = c(1.2,6,5.7,0.5))
  
print("Original data frame")
print(data_frame)
  
# converting the data frame into matrix 
mat = data.matrix(data_frame)
  
print ("matrix of the above data frame")
print (mat)

输出:

[1] “Original data frame”

C1  C2

1  5 1.2

2  6 6.0

3  7 5.7

4  8 0.5

[1] “matrix of the above data frame”

C1  C2

[1,]  5 1.2

[2,]  6 6.0

[3,]  7 5.7

[4,]  8 0.5

布尔数据类型,TRUE在矩阵形式中被返回为1,FALSE为0。

例3 :

# declaring a data frame in R
data_frame = data.frame(C1= c(5:7),C2 = c(1,6,TRUE),
                        C3=c(FALSE,TRUE,FALSE))
  
print("Original data frame")
print(data_frame)
  
# converting the data frame into matrix 
mat = data.matrix(data_frame)
  
print ("matrix of the above data frame")
print (mat)

输出:

[1] “Original data frame”

C1 C2    C3

1  5  1 FALSE

2  6  6  TRUE

3  7  1 FALSE

[1] “matrix of the above data frame”

C1 C2 C3

[1,]  5  1  0

[2,]  6  6  1

[3,]  7  1  0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程