gpt4 book ai didi

r - 映射两个列表

转载 作者:行者123 更新时间:2023-12-02 02:15:01 25 4
gpt4 key购买 nike

<分区>

我最近问了一个关于在两个列表上使用 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]))

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com