Daniel, Do an experiment and see what happens, works lots of time.
I note your question may be what happens if you use factors, as in categorical data. Factors have two sides with one being a numerical index of sorts and the other one being a character string. If I make two vectors for illustration: greek <- factor(c("alpha", "beta", "gamma")) hebrew <- factor(c("aleph", "bet", "gimmel")) You can see the two sides in various ways like this: > greek [1] alpha beta gamma Levels: alpha beta gamma > as.integer(greek) [1] 1 2 3 > as.integer(hebrew) [1] 1 2 3 No make a data,frame like so: mydf <- data.frame(Greek=greek, Hebrew=hebrew) > mydf Greek Hebrew 1 alpha aleph 2 beta bet 3 gamma gimmel Note the numbers are not visible, just text. So converting it to a matrix will show the text/characters: > as.matrix(mydf) Greek Hebrew [1,] "alpha" "aleph" [2,] "beta" "bet" [3,] "gamma" "gimmel" If any columns happened to be numeric, a number like 666 becomes a string like "666". If you want the factors as integers, for some unknown reason, you might want to make another data.frame from mydf like so: mydf.int <- data.frame(Greek=as.integer(greek), Hebrew=as.integer(hebrew)) > mydf.int Greek Hebrew 1 1 1 2 2 2 3 3 3 > as.matrix(mydf.int) Greek Hebrew [1,] 1 1 [2,] 2 2 [3,] 3 3 > typeof(as.matrix(mydf.int)) [1] "integer" As others are saying, you can use as.integer safely enough as long as you first guarantee everything is of a compatible type (such as numeric) so result is uniform. Or, are we missing something about your real question? Matrices are not always a great choice and data.frames can do many of the same things for a 2-D object especially if you use some packages that ... -----Original Message----- From: R-help <r-help-boun...@r-project.org> On Behalf Of Daniel Lobo Sent: Wednesday, June 25, 2025 8:24 PM To: Rolf Turner <rolftur...@posteo.net> Cc: r-help@r-project.org Subject: Re: [R] Converting dataframe to matrix My data frame looks like below dat = structure(list(a = c(66, 100, 100, 100, 100, 100, 100, 66, 100, 66), b = c(100, 50, 100, 100, 100, 100, 100, 100, 100, 100), c = c(75, 25, 75, 50, 50, 50, 50, 50, 75, 25)), class = "data.frame", row.names = c(NA, -10L)) The values are basically categories for each column, however there may be missing values present, which typically represented as NA. My question is can I directly use as.matrix(na.omit(dat)) to convert this to matrix? On Thu, 26 Jun 2025 at 05:27, Rolf Turner <rolftur...@posteo.net> wrote: > > > On Thu, 26 Jun 2025 03:45:50 +0530 > Daniel Lobo <danielobo9...@gmail.com> wrote: > > > Hi, > > > > I have a dataframe for which all columns are numeric but categorical. > > I don't understand what that means. Perhaps an example? > > > There are some missing values as well > > > > Typically, I have CSV file saved in drive, and then read it using > > read.csv command > > Is that relevant? > > > Can I use as.matrix(na.omit(<<my dataframe loaded using read.csv>>)) > > to convert such dataframe to matrix? > > > > I there any data loss or change that may occur if I use as.matrix > > command? > > I think your question is too vague for anyone to be able to answer this. > > > I remember that some experts recommends not to use as.matrix() > > command to convert a dataframe to matrix. > > My guess is that the problem is that as.matrix() will coerce all of the > columns of a data frame to a common class, which might yield unexpected > results. > > > Any guidance will be very helpful. > > It's possible that data.matrix() might be useful. > > But basically you should think carefully about what the nature of the > entries of your data frame could possibly be, and then design your code > to accommodate all of these possibilities, throwing an error if any > entry does not conform to any of the possibilities that you envisage. > > cheers, > > Rolf Turner > > -- > Honorary Research Fellow > Department of Statistics > University of Auckland > Stats. Dep't. (secretaries) phone: > +64-9-373-7599 ext. 89622 > Home phone: +64-9-480-4619 > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.