R中的数据集总和

时间:2018-03-10 23:20:55

标签: r

我在R中有一个数据集,其中有两列标记为x和y,每列都有超过1000个值。我需要找到sum((xi^2-xbar^2)(yi-ybar))/sum((xi-xbar)^4)的线性回归问题。我能想到的只有:

sum(((data$x)^2-mean(data$x)^2)(data$y-mean(data$y)))/sum((data$x-mean(data$x))^4)

但这只是给了我Error: attempt to apply non-function。我还没有弄清楚如何纠正这个问题。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

问题:你怎么弄清楚在一个看起来很难看的表达式中出现了什么问题?

答案:将它分开一块。

df <- data.frame(x = rnorm(10), y = rnorm(10))
df$x^2
# works fine 
df$x^2 - mean(x)^2
# works fine **SEE NOTE** 
sum(df$x^2 - mean(x)^2)
# works fine
# sum(DF$x^2 - mean(x)^2)(data$y-mean.... oh i see

你试图通过将parens彼此相邻而成倍增加。使用*

注意:没有它没有......在第二次通过时,您可能会发现您的值不正确,但如果您有一个x对象,那么这不会引发错误已经在您的环境中(并且该对象没有任何NA值)

答案 1 :(得分:0)

我认为这与()以及如何从数据中引用x和y变量有关。请尝试以下方法。

sum(((data$x)^2-(mean(data$x))^2)*(data$y-mean(data$y)))/sum((data$x-(mean(data$x))^2))