gpt4 book ai didi

r - 使用 for 循环或 lapply 遍历 R 中列表中的不同数据帧

转载 作者:行者123 更新时间:2023-12-04 05:27:06 26 4
gpt4 key购买 nike

如果这个问题看起来很初级,我深表歉意。我有点不清楚是否可能/如何在 R 中使用带有数据框列表的循环。

我的数据帧是较大数据帧的子集:

billysuzy <- subset(userlist,user1 %in% c("billy","suzy"))
joefrank<- subset(userlist,user1 %in% c("joe","frank"))
georgelenny <- subset(userlist,user1 %in% c("george","lenny"))

我想遍历并找到每个子集的相同变量(时间和 simscore)的相关值。
cor(time, simscore)

但是,我很不确定如何构建这样的 for 循环,也不确定如何构建一个函数以在 lapply 中附加和分离。

我在想:
somelist <- list(billysuzy, joefrank, georgelenny)

带 lapply:
corz <-  lapply(somelist, function(df)  detach(), attach(df),cor(time, simscore))
lapply(corz, print)

或用于:
for (i in 1:length(somelist)){
detach()
attach(somelist[i])
cor(time, simscore)
}

我很抱歉冒犯了任何人的 R 敏感性,或者如果这似乎是两个问题 - 答案是描述如何做一件事的任何一个,即循环遍历列表中的 dfs 并找到相应的值。

最佳答案

我真的建议避免 attachdetach .

你可以试试这样的

corz <-  lapply(somelist, function(df)  cor_time_sim = cor(df$time, df$simscore))

或者
corz <-  lapply(somelist, function(DF)  {with(DF, corst <-  cor(time, simscore))})

或者
corz <-  lapply(somelist, with, corst <-  cor(time, simscore))

关于r - 使用 for 循环或 lapply 遍历 R 中列表中的不同数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079449/

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