はじめに: 私は R の非常に「新しい」ユーザーなので、すべての間違いやばかげた質問をお許しください。
570 (30*19) の方程式を推定したいと思います (そしてそれらの summary() を取得します)。各方程式の形式は y~x2+x3+x4 で、x2、x3、x4 はリストです。
コメント #1 は私の試行の失敗です。達成したいことを示すことができます。コメント #2 では、そのような方程式は機能していますが、リスト「x2」から取得する必要がある変数「jan」を (feb、mar などに) 手動で変更する必要があります。このコードは 30 個の方程式を返しますが、それぞれの方程式をもう 1 つの変数 (「x2」という名前の 19 の要素のリストからの x2) で推定する必要があります。
自動的に行う方法は?つまり、mapply - リストの各要素に rlm モデルを適用します。たとえば、リスト "y" の要素 1 は、"x3" の要素 1 と "x4" の要素 1 に対応します ( csv ファイルを準備していたときの順序) - これは正しいですが、追加の変数 x2 を使用して、以下のコメント #2 のような方程式を実行したいと思います。この変数は、他の変数に対応していません。リスト "y" の要素の 30 回の回帰のそれぞれに、リスト "x2" の要素 1 から "x2" の要素 19 に変化するだけで常に存在する必要があります。
最後に、570 (30*19) の「summ」行列と 570 の「archtest」が必要です。
これが混乱していないことを願っています。もしそうなら、明確にするためにしばらくしてからもう一度投稿しようとします.
ご理解とご協力をよろしくお願いいたします。
data<-read.table("MAY EFFECT Rdata 18.09.2013-3 ind prod CCI.csv", head=T, sep=";", dec=".")
library(MASS)
library(FinTS)
index1<-data[,2:31] # y 30 elements; rates, 30 countries
index2<-data[,32:50] # x2 19 elements; month dummies, months and other
index3<-data[,51:80] # x3 30 elements; IP
index4<-data[,81:110] # x4 30 elements; CCI
y<-as.list(index1)
x2<-as.list(index2)
x3<-as.list(index3)
x4<-as.list(index4)
#1. this is my trial I need to make "x2" variable that stands for month dummy be respectively equal jan, feb ... and so on till
# the end of list x2 (19 elements)
result<-mapply(function(x2) mapply(function(y,x3,x4,x2) summary(rlm(y~x2+x3+x4, maxit = 15600, data=data)), y,x3,x4),x2)
#2. this code below is returning 10x30 list matrix "summ" and 5x30 data frame "archtest"
summ<- mapply(function(y,x3,x4,jan) summary(rlm(y~jan+x3+x4, maxit = 15600, data=data)), y,x3,x4)
archtest<-mapply(function (y,x3,x4,jan,resi) {regr<-rlm(y~jan+x3+x4, maxit = 15600, data=data)
ArchTest (resid(regr), lags=12, demean = FALSE)},y,x3,x4)
####