David,

Thanks for the response. I believe you have solved my problem.

Bob

On 7/26/2014 3:50 PM, David Winsemius wrote:

On Jul 26, 2014, at 11:07 AM, Robert Sherry wrote:

I have the following data set:
x    y           p
1    1          1/2
2    2          1/4
3    9          1/4

In this case, p represents the probability of the values occurring. I
compute the covariance of x and y by hand and come up with a value of 41/16. When computing the covariance, I am dividing by n (in this case 3) not n-1.

I now want to use R to find the [covariance]. I understand that R will [divide]
by n-1 not n.

Please read what the help page says about the choice of the method parameter.


 Here are the commands that I issued:

x = c(1,2,3)
y = c(1,2,9)
df =dataframe(x,y)

# There's no function named 'dataframe'.\\

df =data.frame(x,y)
w1 = c(1/2,1/4,1/4)
cov.wt(df, wt = w1 )


> cov.wt(df, wt = w1 ,method="ML")$cov[2,1]
[1] 2.5625
> all.equal (41/16, cov.wt(df, wt = w1 ,method="ML")$cov[2,1] )
[1] TRUE


The last command returns:

$cov
   x    y
x 1.1  4.1
y 4.1 17.9

$center
  x    y
1.75 3.25

$n.obs
[1] 3

$wt
[1] 0.50 0.25 0.25

Therefore, I conclude that R is finding the covariance of x and y to be 4.1.
However, I need to adjust that number by multiplying it by 2 and then
dividing by 3. However, when I get that I still do not get 41/16. What am I
missing?


______________________________________________
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