Mucha gracias!! as.vector worked like a charm and, in this case, produced the same results as c():
c(pdf)*v as.vector(pdf)*v At 07:02 PM 11/6/2011, R. Michael Weylandt <michael.weyla...@gmail.com> wrote: >It looks like pdf is not a "scalar" (that term actually has no >meaning in R but I know what you mean) but is rather a 1x1 matrix, >as attested by the fact it has dimensions. If you give dnorm() a >matrix it will return one, as it did here. > >Perhaps you should look at the is.matrix() and as.vector() functions >rather than abusing a side-effect of c(), which makes it much more >difficult to see R's internal logic, which, while quirky, is useful >at the end of the day. > >Michael > >PS - It's good form to cc the list at each step so others can follow >along and contribute when I say something wrong. It also helps you >get quicker answers. > >On Nov 6, 2011, at 1:06 AM, Steven Yen ><<mailto:s...@utk.edu>s...@utk.edu> wrote: > >>I am trying to multiply what I know is a scalar (pdf(xb)) to a >>column vector of coefficient (bb). >>In the following, pdf is a scalar and bb is 5 x 1. I first show >>what worked and then what did not work. >>If my pdf is a scalar, why would I need c(pdf) to be able to >>pre-multiply it by a 5 x 1 vector? >> >>--- >> >> > x <- as.matrix(colMeans(x)) >> > xb <- t(x)%*%bb >> > pdf <- dnorm(xb) >> >> > dim(bb) >>[1] 5 1 >> >> > >> > cpdf <- c(pdf) >> > dim(cpdf) >>NULL >> > cpdf >>[1] 0.304201 >> > (dphat <- cpdf*bb) >> [,1] >>(Intercept) 0.32744753 >>xrage -0.00599225 >>xryr 0.01758431 >>xrrate -0.08217250 >>xrrel -0.05695434 >> > >> > pdf <- dnorm(xb) >> > dim(pdf) >>[1] 1 1 >> > pdf >> [,1] >>[1,] 0.304201 >> > (dphat <- pdf*bb) >>Error in pdf * bb : non-conformable arrays >> > >> >>At 12:21 AM 11/6/2011, you wrote: >>>There are a few (nasty?) side-effects to c(), one of which is >>>stripping a matrix of its dimensionality. E.g., >>> >>>x <- matrix(1:4, 2) >>>c(x) >>>[1] 1 2 3 4 >>> >>>So that's probably what happened to you. R has a somewhat odd feature >>>of not really considering a pure vector as a column or row vector but >>>being willing to change it to either: >>> >>>e.g. >>> >>>y <- 1:2 >>> >>>x %*% y >>>y %*% x >>>y %*% y >>> >>>while matrix(y) %*% x throws an error, which can also trip folks up. >>>You might also note that x * y and y*x return the same thing in this >>>problem. >>> >>>Getting back to your problem: what are v and b and what are you hoping >>>to get done? Specifically, what happened when you tried v*b (give the >>>exact error message). It seems likely that they are non-conformable >>>matrices, but here non-conformable for element-wise multiplication >>>doesn't mean the same thing as it does for matrix multiplication. >>>E.g., >>> >>>x <- matrix(1:4,2) >>>y <- matrix(1:6,2) >>> >>>dim(x) >>>[1] 2 2 >>> >>>dim(y) >>>[1] 2 3 >>> >>>x * y -- here R seems to want matrices with identical dimensions, but >>>i can't promise that. >>> >>>x %*% y does work. >>> >>>Hope this helps and yes I know it can seem crazy at first, but there >>>really is reason behind it at the end of the tunnel, >>> >>>Michael >>> >>> >>>On Sun, Nov 6, 2011 at 12:11 AM, Steven Yen >>><<mailto:s...@utk.edu>s...@utk.edu> wrote: >>> > My earlier attempt >>> > >>> > dp <- v*b >>> > >>> > did not work. Then, >>> > >>> > dp <- c(v)*b >>> > >>> > worked. >>> > >>> > Confused, >>> > >>> > Steven >>> > >>> > At 09:10 PM 11/4/2011, you wrote: >>> > >>> > Did you even try? >>> > >>> > a <- 1:3 >>> > x <- matrix(c(1,2,3,2,4,6,3,6,9),3) >>> > a*x >>> > >>> > [,1] [,2] [,3] >>> > [1,] 1 2 3 >>> > [2,] 4 8 12 >>> > [3,] 9 18 27 >>> > >>> > Michael >>> > >>> > On Fri, Nov 4, 2011 at 7:26 PM, Steven Yen >>> <<mailto:s...@utk.edu>s...@utk.edu> wrote: >>> >> is there a way to do element-by-element multiplication as in Gauss >>> >> and MATLAB, as shown below? Thanks. >>> >> >>> >> --- >>> >> a >>> >> >>> >> 1.0000000 >>> >> 2.0000000 >>> >> 3.0000000 >>> >> x >>> >> >>> >> 1.0000000 2.0000000 3.0000000 >>> >> 2.0000000 4.0000000 6.0000000 >>> >> 3.0000000 6.0000000 9.0000000 >>> >> a.*x >>> >> >>> >> 1.0000000 2.0000000 3.0000000 >>> >> 4.0000000 8.0000000 12.000000 >>> >> 9.0000000 18.000000 27.000000 >>> >> >>> >> >>> >> -- >>> >> Steven T. Yen, Professor of Agricultural Economics >>> >> The University of Tennessee >>> >> http://web.utk.edu/~syen/ >>> >> [[alternative HTML version deleted]] >>> >> >>> >> ______________________________________________ >>> >> <mailto:R-help@r-project.org>R-help@r-project.org mailing list >>> >> https://stat.ethz.ch/mailman/listinfo/r-help >>> >> PLEASE do read the posting guide >>> >> http://www.R-project.org/posting-guide.html >>> >> and provide commented, minimal, self-contained, reproducible code. >>> >> >>-- >>Steven T. Yen, Professor of Agricultural Economics >>The University of Tennessee >>http://web.utk.edu/~syen/ [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.