为R

时间:2016-04-08 20:47:08

标签: r regression linear-regression

我比R更新,并在下面的链接中找到了帖子,这与我想要完成的内容类似。

Calculating a linear trend line for every row of a table in R

我想做的是同样的事情,但为两个不同的表格的每一行创建一个新的回归方程。

以下是一些示例数据。

Closesday1 <- c(2,6,10)
Closedays2 <- c(3,7,15)
Closedays3 <- c(5,8,20)

dataY<-data.frame(Closesday1,Closedays2,Closedays3)
Dep<-t(dataY)


Valuesday1 <- c(4,6,8)
Valuesday2 <- c(5,8,11)
Valuesday3 <- c(7,9,14)
dataX<-data.frame(Valuesday1,Valuesday2,Valuesday3)
Ind<-t(dataX)

对于Dep,我们得到:

       [,1] [,2] [,3]
Closesday1    2    6   10
Closedays2    3    7   15
Closedays3    5    8   20

对于Ind,我们得到:

       [,1] [,2] [,3]
Valuesday1    4    6    8
Valuesday2    5    8   11
Valuesday3    7    9   14

我想要做的是为变量1,2和3创建一个回归方程(线性开始),采用截止日1值,并针对变量1,2和3对周一进行回归(因此2,6,10对4,6,8)。一个新的回归方程将计算为closesday2 vs valuesday2,另一个是关于dayday3 vs valuesday3等...我希望将输出包含在一个新表中,其中列添加了拦截和斜率。

希望这是有道理的。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将这些步骤合并为一个以提高效率:

Traceback (most recent call last):
  File "C:/Users/1020071/Documents/test.py", line 19, in <module>
    album = gd_client.InsertAlbum(title='New album', summary='This is an album')
  File "C:\Python27\lib\site-packages\gdata\photos\service.py", line 358, in InsertAlbum
    raise GooglePhotosException(e.args[0])
GooglePhotosException: (403, 'Forbidden', 'Modification only allowed with api authentication.')

要将系数和拟合值放入单个数据框中,请尝试以下方法:

df <- data.frame(t(sapply(seq(nrow(Dep)), function(x) coeffs <- lm(Dep[x, ] ~ Ind[x, ])$coefficients)))

请注意,每行中的NA会创建缺少的拟合值。我只是在最后一行填写NA中的最后一行。