сопоставить два списка [закрыто]

Я недавно задал вопрос об использованииapply функция над двумя списками. Каждый список представляет собой список фреймов данных, созданных путем разделения большого фрейма данных. Каждый раз, когда запускается функция, я хочу взять векторы из первого элемента (фрейма данных) вmylist1 и некоторые векторы из первого элемента (кадра данных) вmylist2 и регрессировать их друг против друга. Затем перейдите к следующемуmylist1 элемент иmylist2 элемент. По сути, функция берет два списка с одинаковым количеством элементов, берет пару (по одному из каждого списка) и играет с ними.

Я попробовал следующее, но результаты, которые я получаю, не то, что я хочу:

a1<-c(1:5,rep(0,5))
a2<-c(1:5,10:6)
b2<-c(rep(100,5),rep(50,5))
z<-c(rep("part1",5),rep("part2",5))
df1<-data.frame(a1,z)
df2<-data.frame(a2,b2,z)

mylist1<-split(df1,z)
mylist2<-split(df2,z)


myfunction<-function(x,y) 
{

meana <- mean(x$a)
meanb <- mean(y$b)
model<-lm((x$a)~(y$a))
return(c(model$coefficients[2],meana=meana,meanb=meanb))
}

result <- mapply(myfunction,x=mylist,y=mylist2)

 #result
#        x   y
#y$a     1  -1
#meana   3   8
#meanb 100  50

Что я хочу это:

#y$a     1   0   
#meana   3   0
#meanb   100 50


#e.g. the results in the first row are from lm((mylist1[[1]][,1])~(mylist2[[1]][,1]))  and lm((mylist1[[2]][,1])~(mylist2[[2]][,1]))  

Ответы на вопрос(1)

Ваш ответ на вопрос