次のように構造化されたデータがあります。
group_id, months_from_start, perc_total_downloads, experience_ratio
1 1 1.2 4
1 2 1.7 6
…
235 1 6.7 3
235 2 18 8
…
約 300 のグループがあり、各グループには 70 ほどの連続したデータ要素があります。
次のスクリプトを発行して、各グループの 2 次多項式を推定しました。
s.1<-lm(xts(s[s$group_id == 1,][,-2], order.by=as.Date(s[s$group_id == 1,][,2]))$perc_total_downloads ~ poly(xts(s[s$group_id == 1,][,-2], order.by=as.Date(s[s$group_id == 1,][,2]))$months_from_start, 2, raw=TRUE))
s.235<-lm(xts(s[s$group_id == 235,][,-2], order.by=as.Date(s[s$group_id == 235,][,2]))$perc_total_downloads ~ poly(xts(s[s$group_id == 235,][,-2], order.by=as.Date(s[s$group_id == 235,][,2]))$months_from_start, 2, raw=TRUE))
s.599<-lm(xts(s[s$group_id == 599,][,-2], order.by=as.Date(s[s$group_id == 599,][,2]))$perc_total_downloads ~ poly(xts(s[s$group_id == 599,][,-2], order.by=as.Date(s[s$group_id == 599,][,2]))$months_from_start, 2, raw=TRUE))
s.1111<-lm(xts(s[s$group_id == 1111,][,-2], order.by=as.Date(s[s$group_id == 1111,][,2]))$perc_total_downloads ~ poly(xts(s[s$group_id == 1111,][,-2], order.by=as.Date(s[s$group_id == 1111,][,2]))$months_from_start, 2, raw=TRUE))
s.1537<-lm(xts(s[s$group_id == 1537,][,-2], order.by=as.Date(s[s$group_id == 1537,][,2]))$perc_total_downloads ~ poly(xts(s[s$group_id == 1537,][,-2], order.by=as.Date(s[s$group_id == 1537,][,2]))$months_from_start, 2, raw=TRUE))
これらの新しい変数のそれぞれについて、要約ステートメントを発行して興味深い情報を明らかにすることができます。
> summary(s.44375)
Call:
lm(formula = xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id ==
44375, ][, 2]))$perc_total_downloads ~ poly(xts(s[s$group_id ==
44375, ][, -2], order.by = as.Date(s[s$group_id == 44375,
][, 2]))$months_from_start, 2, raw = TRUE))
Residuals:
Min 1Q Median 3Q Max
-0.0064004 -0.0017315 -0.0002022 0.0012087 0.0078436
Coefficients: (3 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.993e-03 1.137e-03 1.753 0.084 .
poly(xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id == 44375, ][, 2]))$months_from_start, 2, raw = TRUE)1.0 7.769e-04 6.707e-05 11.583 <2e-16 ***
poly(xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id == 44375, ][, 2]))$months_from_start, 2, raw = TRUE)2.0 -9.258e-06 8.404e-07 -11.017 <2e-16 ***
poly(xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id == 44375, ][, 2]))$months_from_start, 2, raw = TRUE)0.1 NA NA NA NA
poly(xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id == 44375, ][, 2]))$months_from_start, 2, raw = TRUE)1.1 NA NA NA NA
poly(xts(s[s$group_id == 44375, ][, -2], order.by = as.Date(s[s$group_id == 44375, ][, 2]))$months_from_start, 2, raw = TRUE)0.2 NA NA NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.002866 on 69 degrees of freedom
Multiple R-squared: 0.6619,Adjusted R-squared: 0.6521
F-statistic: 67.53 on 2 and 69 DF, p-value: < 2.2e-16
私の目的のために、この情報を表に転記する必要があります。これは、この形式から切り取って貼り付けるのは非常に面倒で時間がかかります。
group_id intercept est intercept stnd err intercept t value …
44375 1.993e-03 1/137e-03 1.753 ...
…
また、科学表記法よりも従来の表記法があると便利ですが、それがなくても生きていけると思います。
手で切り貼りせずにこれを行う方法はありますか?
ありがとう --sw