首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在列中迭代效果大小计算

在列中迭代效果大小计算
EN

Stack Overflow用户
提问于 2021-04-17 21:54:17
回答 1查看 51关注 0票数 2

我目前正在比较R上的高危人群和正常人群大脑中159个区域(ROI)的大小。我最初使用以下循环计算lm模型的p值:

代码语言:javascript
复制
storage <- list()
for(i in names(ThalPC)[-c(1:8)]){
  storage[[i]] <- lm(get(i) ~ Status, ThalPC)
}

table <-  storage %>% tibble(
    dvsub = names(.),
    untidied = .
    ) %>%
  mutate(tidy = map(untidied, broom::tidy)) %>%
  unnest(tidy) 

tab <- as.data.frame(table)

to <- subset(tab, select = -c(2))

newtable <- filter(to, term == "StatusControl")

ThalPC= my data frame Status =他们的状态为控制或处于危险中的人群

现在,我有大约59个具有显着p值的区域,我希望计算它们的影响大小。目前我正在尝试使用这个循环:

代码语言:javascript
复制
stor <- list()
for(i in names(ThalPC)[-c(1:9)]) {
  stor[[i]] <- lm(get(i) ~ Status, ThalPC)
try <- effectsize(stor[[i]], type="eta")
}

但是,我得到以下错误:

代码语言:javascript
复制
Error in get(i) : object 'Left_LGN' not found

(Left_LGN是我正在研究的一个区域,所有159个区域都是通过数据框以列的形式设置的)

也许我想得太多了,有谁知道任何简单的解决方案/更好的方法来获得它们的效果大小?

我在R和统计学方面还是个初学者,所以我真的很感谢你的投入!谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-18 05:45:16

我猜您在运行第一个脚本将ThalPC列添加到搜索路径之前使用了attach(ThalPC)。相反,尝试将对lm的调用构造为:

代码语言:javascript
复制
stor[[i]] <- lm(as.formula(paste(i, "~ Status")), 
    data = ThalPC)

看起来您可能希望将effectsize的输出也收集为列表的元素,否则每次都会覆盖它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67138925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档