📜  使用 R 中的列名将 DataFrame 转换为矩阵

📅  最后修改于: 2022-05-13 01:54:37.007000             🧑  作者: Mango

使用 R 中的列名将 DataFrame 转换为矩阵

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

  • 数据框不应有 NA 或缺失值。
  • 跨所有列存储的数据类型应为相同类型,即数字或字符类型。

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

示例 1:



R
# 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)


R
# 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)


R
# 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)


输出:

但是,这种转换有一个例外,即如果作为输入提供的数据完全是数字,包括整数和浮点小数,那么相同的数据将作为输出返回而不进行任何相互转换。

示例 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)

输出:



布尔数据类型 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)

输出: