- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在重写我之前的一个问题,该问题因缺乏细节而被删除。
我想提取我正在循环运行的多个回归的 p 值,并将每个自变量的 p 值存储为列表。我的问题是正确存储新列表。您将在下方找到代码、示例数据和预期结果。
非常感谢!
ind_var <- list(c("Man","Below_Master","Worker","Rural", "Less_than_26"))
depending_var <- list(c("Q1","Q2","Q3","Q4", "Q5", "Q6"))
x <- list()
for (var_p in depending_var) {
{ for (var in ind_var)
x1 <- lm(paste(var, "~", var_p), data = Ech_final_nom_SD, weights = pond)
x[[var_p]] <- summary(x1)$coefficients[,4] #Where shit hits the fan
}
}
这是示例数据:
预期结果(所有 p 值不同):
x_Man <- list(c("0.0234","0.9894", "0.0045", "0.9892", "0.0229", "0.0254","0.0894", "0.0047", "0.2392", "0.0029"))
x_Below_Master <- list(c("0.0434","0.9854", "0.0545", "0.0092", "0.0729", "0.0254","0.0894", "0.0047", "0.2392", "0.0029"))
x_Worker <- list(c("0.0234","0.9894", "0.0045", "0.9892", "0.0229", "0.0254","0.0894", "0.0047", "0.2392", "0.0029"))
x_Rural <- list(c("0.0234","0.9894", "0.0045", "0.9892", "0.0229", "0.0254","0.0894", "0.0047", "0.2392", "0.0029"))
x_Less_than_26 <- list(c("0.0234","0.9894", "0.0045", "0.9892", "0.0229", "0.0254","0.0894", "0.0047", "0.2392", "0.0029"))
最佳答案
这是问题中嵌套 for
循环的一种方法。结果对象具有不同的形状,它是一个 data.frame。
ind_var <- c("Man","Below_Master","Worker","Rural", "Less_than_26")
depending_var <- c("Q1","Q2","Q3","Q4", "Q5", "Q6")
n_rows <- length(depending_var) * length(ind_var)
x <- data.frame(
dependent = character(n_rows),
independent = character(n_rows),
pval_intercept = numeric(n_rows),
pval_indep = numeric(n_rows)
)
i <- 0L
for (var_p in depending_var) {
for (var in ind_var) {
i <- i + 1L
fmla <- reformulate(var, response = var_p)
x1 <- lm(fmla, data = Ech_final_nom_SD, weights = pond)
x[i, "dependent"] <- var_p
x[i, "independent"] <- var
x[i, "pval_intercept"] <- summary(x1)$coefficients[1, 4]
x[i, "pval_indep"] <- summary(x1)$coefficients[2, 4]
}
}
x
#> dependent independent pval_intercept pval_indep
#> 1 Q1 Man 9.160936e-04 0.80277173
#> 2 Q1 Below_Master 2.026789e-03 0.18690481
#> 3 Q1 Worker 2.231686e-04 0.34553732
#> 4 Q1 Rural 2.331972e-04 0.54473730
#> 5 Q1 Less_than_26 1.768920e-02 0.05845715
#> 6 Q2 Man 3.287724e-05 0.27313922
#> 7 Q2 Below_Master 8.982180e-05 0.72446583
#> 8 Q2 Worker 3.896158e-05 0.56210550
#> 9 Q2 Rural 1.712317e-05 0.38768132
#> 10 Q2 Less_than_26 7.359017e-04 0.93892908
#> 11 Q3 Man 6.976609e-04 0.07359019
#> 12 Q3 Below_Master 3.373039e-02 0.26225475
#> 13 Q3 Worker 1.177118e-02 0.74104616
#> 14 Q3 Rural 3.748440e-03 0.63631632
#> 15 Q3 Less_than_26 3.502726e-02 0.90655491
#> 16 Q4 Man 1.337132e-03 0.47136168
#> 17 Q4 Below_Master 8.923744e-05 0.12647490
#> 18 Q4 Worker 2.199469e-04 0.46193445
#> 19 Q4 Rural 2.862687e-04 1.00000000
#> 20 Q4 Less_than_26 8.392753e-03 0.43036607
#> 21 Q5 Man 3.584230e-05 0.11143429
#> 22 Q5 Below_Master 3.701074e-04 1.00000000
#> 23 Q5 Worker 2.603420e-04 0.35588376
#> 24 Q5 Rural 1.346479e-04 0.74828807
#> 25 Q5 Less_than_26 2.975062e-03 0.62876991
#> 26 Q6 Man 2.911220e-03 0.06558768
#> 27 Q6 Below_Master 1.270703e-03 0.74043945
#> 28 Q6 Worker 1.257419e-03 0.78704595
#> 29 Q6 Rural 7.220649e-04 0.82866767
#> 30 Q6 Less_than_26 5.691830e-03 0.82866767
由 reprex package 创建于 2022-08-22 (v2.0.1)
还有一个带有双 lapply
循环的解决方案。
res <- lapply(depending_var, \(y) {
lapply(ind_var, \(x) {
fit <- lm(reformulate(x, y), data = Ech_final_nom_SD, weights = pond)
data.frame(
dependent = y,
independent = x,
pval_intercept = summary(fit)$coefficients[1, 4],
pval_indep = summary(fit)$coefficients[2, 4]
)
})
})
res <- do.call(rbind, unlist(res, recursive = FALSE))
res
#> dependent independent pval_intercept pval_indep
#> 1 Q1 Man 9.160936e-04 0.80277173
#> 2 Q1 Below_Master 2.026789e-03 0.18690481
#> 3 Q1 Worker 2.231686e-04 0.34553732
#> 4 Q1 Rural 2.331972e-04 0.54473730
#> 5 Q1 Less_than_26 1.768920e-02 0.05845715
#> 6 Q2 Man 3.287724e-05 0.27313922
#> 7 Q2 Below_Master 8.982180e-05 0.72446583
#> 8 Q2 Worker 3.896158e-05 0.56210550
#> 9 Q2 Rural 1.712317e-05 0.38768132
#> 10 Q2 Less_than_26 7.359017e-04 0.93892908
#> 11 Q3 Man 6.976609e-04 0.07359019
#> 12 Q3 Below_Master 3.373039e-02 0.26225475
#> 13 Q3 Worker 1.177118e-02 0.74104616
#> 14 Q3 Rural 3.748440e-03 0.63631632
#> 15 Q3 Less_than_26 3.502726e-02 0.90655491
#> 16 Q4 Man 1.337132e-03 0.47136168
#> 17 Q4 Below_Master 8.923744e-05 0.12647490
#> 18 Q4 Worker 2.199469e-04 0.46193445
#> 19 Q4 Rural 2.862687e-04 1.00000000
#> 20 Q4 Less_than_26 8.392753e-03 0.43036607
#> 21 Q5 Man 3.584230e-05 0.11143429
#> 22 Q5 Below_Master 3.701074e-04 1.00000000
#> 23 Q5 Worker 2.603420e-04 0.35588376
#> 24 Q5 Rural 1.346479e-04 0.74828807
#> 25 Q5 Less_than_26 2.975062e-03 0.62876991
#> 26 Q6 Man 2.911220e-03 0.06558768
#> 27 Q6 Below_Master 1.270703e-03 0.74043945
#> 28 Q6 Worker 1.257419e-03 0.78704595
#> 29 Q6 Rural 7.220649e-04 0.82866767
#> 30 Q6 Less_than_26 5.691830e-03 0.82866767
由 reprex package 创建于 2022-08-22 (v2.0.1)
但最简单的解决方案是记住 lm
可以拟合多个回归模型并一次拟合所有响应。
resp <- as.matrix(Ech_final_nom_SD[depending_var])
out <- lapply(ind_var, \(x) {
fit <- lm(resp ~ get(x), data = Ech_final_nom_SD)
cfs <- sapply(summary(fit), \(s) s$coefficients[, 4])
rownames(cfs)[2] <- x
cfs
})
do.call(rbind.data.frame, out)
#> Response Q1 Response Q2 Response Q3 Response Q4 Response Q5 Response Q6
#> (Intercept) 0.0009160936 3.287724e-05 0.0006976609 1.337132e-03 0.0000358423 0.0029112201
#> Man 0.8027717312 2.731392e-01 0.0735901860 4.713617e-01 0.1114342894 0.0655876769
#> (Intercept)1 0.0020267889 8.982180e-05 0.0337303906 8.923744e-05 0.0003701074 0.0012707033
#> Below_Master 0.1869048103 7.244658e-01 0.2622547504 1.264749e-01 1.0000000000 0.7404394537
#> (Intercept)2 0.0002231686 3.896158e-05 0.0117711783 2.199469e-04 0.0002603420 0.0012574186
#> Worker 0.3455373232 5.621055e-01 0.7410461602 4.619345e-01 0.3558837647 0.7870459482
#> (Intercept)3 0.0002331972 1.712317e-05 0.0037484405 2.862687e-04 0.0001346479 0.0007220649
#> Rural 0.5447373008 3.876813e-01 0.6363163232 1.000000e+00 0.7482880706 0.8286676662
#> (Intercept)4 0.0176892034 7.359017e-04 0.0350272586 8.392753e-03 0.0029750616 0.0056918299
#> Less_than_26 0.0584571528 9.389291e-01 0.9065549125 4.303661e-01 0.6287699080 0.8286676662
由 reprex package 创建于 2022-08-22 (v2.0.1)
x<-'ID Man Below_Master Worker Rural Less_than_26 Q1 Q2 Q3 Q4 Q5 Q6
1 1 1 0 0 1 4 3 1 2 2 1
2 0 0 0 1 1 2 2 2 2 3 1
3 0 1 0 0 1 4 3 1 1 3 1
4 0 0 1 0 0 1 4 1 2 3 1
5 0 1 1 0 1 4 3 4 2 3 2
6 1 0 1 1 1 3 2 1 2 2 2
7 0 1 0 0 0 3 3 3 2 1 2
8 1 0 0 0 1 3 3 1 4 1 3
9 1 0 0 1 1 2 3 1 2 2 3
10 1 1 1 0 0 1 1 1 1 2 3'
Ech_final_nom_SD <- read.table(textConnection(x), header = TRUE)
pond <- rep(1, nrow(Ech_final_nom_SD))
由 reprex package 创建于 2022-08-22 (v2.0.1)
关于r - 更新R中嵌套循环中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73443524/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!