rmatrix

Create an object class matrix/array from data frame


I'd like to convert the data frame my df

df <- read.csv("https://raw.githubusercontent.com/Leprechault/trash/refs/heads/main/Dados_C3_data_planta.csv", sep=";")
head(df)

#        Data GLY_PN CRO_P MIPU_P CEN_P POA01_P CECRO_P COM_P MOR_PN
#1 24-01-2024     53    40      3     0       0       0     0      0
#2 25-01-2024     56     8      0    24       9       0     0      0
#3 26-01-2024      0    27      0    47      26       0     0      0
#4 27-01-2024      0     0      0     0       0       6    43     48
#5 31-01-2024      0     0      0    62      35       0     0      0
#6 02-02-2024      0     0      0    50      50       0     0      0
#  COPA_PN RHY_P SOR_P
#1       0     0     0
#2       0     0     0
#3       0     0     0
#4       0     0     0
#5       0     0     0
#6       0     0     0

to class [1] "matrix" "array". I cannot bring it to work with as.matrix() or data.matrix().

Desirable output (~df_to_matrix()):

#                GLY_PN CRO_P MIPU_P CEN_P POA01_P CECRO_P COM_P MOR_PN
#1 24-01-2024     53    40      3     0       0       0     0      0
#2 25-01-2024     56     8      0    24       9       0     0      0
#3 26-01-2024      0    27      0    47      26       0     0      0
#4 27-01-2024      0     0      0     0       0       6    43     48
#5 31-01-2024      0     0      0    62      35       0     0      0
#6 02-02-2024      0     0      0    50      50       0     0      0
#  COPA_PN RHY_P SOR_P
#1       0     0     0
#2       0     0     0
#3       0     0     0
#4       0     0     0
#5       0     0     0
#6       0     0     0

class(df_to_matrix)
[1] "matrix" "array"

Column name in the first column and values in numeric format.


Solution

  • # Load the data
    df <- read.csv("https://raw.githubusercontent.com/Leprechault/trash/refs/heads/main/Dados_C3_data_planta.csv", sep=";")
    
    # Convert to matrix, excluding the first column (dates)
    df_to_matrix <- as.matrix(df[, -1])  # Exclude the first column
    
    # Optionally, convert character columns to numeric
    df_to_matrix <- apply(df_to_matrix, 2, as.numeric)
    
    # Check the class
    class(df_to_matrix)
    
    # Print the resulting matrix
    print(df_to_matrix)