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.

Reply via email to