【发布时间】:2018-08-26 01:49:10
【问题描述】:
我正在尝试使用 lapply 来运行具有一堆输出的线性模型。我很难判断哪个输出属于哪对参数,所以我想在每个输出中粘贴列表名称。以下是一些数据:
Site Date Season Species BodySize Mass SeasonGDD
1 3/19/17 winter infrequens 6 1.134965577 3.556416667
1 3/19/17 winter infrequens 6 1.134965577 3.556416667
1 3/19/17 winter infrequens 6 1.134965577 3.556416667
1 3/19/17 winter infrequens 6 1.134965577 3.556416667
1 3/19/17 winter infrequens 6 1.134965577 3.556416667
1 3/19/17 winter infrequens 6.2 1.245407892 3.556416667
1 3/19/17 winter infrequens 6.2 1.245407892 3.556416667
1 3/19/17 winter infrequens 6.2 1.245407892 3.556416667
1 3/19/17 winter infrequens 6.4 1.362573803 3.556416667
1 3/19/17 winter infrequens 6.4 1.362573803 3.556416667
1 3/19/17 winter doddsii 6.4 1.362573803 3.556416667
1 3/19/17 winter infrequens 6.4 1.362573803 3.556416667
1 3/19/17 winter infrequens 6.4 1.362573803 3.556416667
4 3/19/17 winter infrequens 6.4 1.362573803 3.556416667
4 3/19/17 winter doddsii 6.6 1.486643287 3.556416667
3 3/19/17 winter infrequens 6.6 1.486643287 3.556416667
2 3/19/17 winter infrequens 6.6 1.486643287 3.556416667
2 3/19/17 winter infrequens 6.6 1.486643287 3.556416667
1 3/19/17 winter infrequens 6.6 1.486643287 3.556416667
1 3/19/17 winter infrequens 6.6 1.486643287 3.556416667
1 3/19/17 winter doddsii 6.6 1.486643287 3.556416667
1 3/19/17 winter doddsii 6.6 1.486643287 3.556416667
1 3/19/17 winter cockerelli 6.8 1.293245066 3.556416667
5 3/19/17 winter infrequens 6.8 1.617795375 3.556416667
5 3/19/17 winter infrequens 6.8 1.617795375 3.556416667
3 3/19/17 winter infrequens 6.8 1.617795375 3.556416667
1 3/19/17 winter infrequens 6.8 1.617795375 3.556416667
5 3/19/17 winter doddsii 6.8 1.617795375 3.556416667
4 3/19/17 winter grandis 6.9 1.347971145 3.556416667
1 3/19/17 winter doddsii 7 1.75620819 3.556416667
1 3/19/17 winter infrequens 7 1.75620819 3.556416667
1 3/19/17 winter infrequens 7 1.75620819 3.556416667
1 3/19/17 winter infrequens 7 1.75620819 3.556416667
1 3/19/17 winter doddsii 7.2 1.902058976 3.556416667
1 3/19/17 winter infrequens 7.2 1.902058976 3.556416667
2 3/19/17 winter infrequens 7.2 1.902058976 3.556416667
2 3/19/17 winter doddsii 7.4 2.055524128 3.556416667
2 3/19/17 winter doddsii 7.4 2.055524128 3.556416667
2 3/19/17 winter doddsii 7.4 2.055524128 3.556416667
1 3/19/17 winter doddsii 7.4 2.055524128 3.556416667
1 3/19/17 winter doddsii 7.4 2.055524128 3.556416667
1 3/19/17 winter cockerelli 7.5 1.707996411 3.556416667
1 3/19/17 winter doddsii 7.6 2.216779222 3.556416667
3 3/19/17 winter doddsii 7.6 2.216779222 3.556416667
4 3/19/17 winter doddsii 7.6 2.216779222 3.556416667
1 3/19/17 winter infrequens 7.6 2.216779222 3.556416667
1 3/19/17 winter cockerelli 7.7 1.840497347 3.556416667
1 3/19/17 winter doddsii 7.8 2.385999034 3.556416667
2 3/19/17 winter doddsii 7.8 2.385999034 3.556416667
2 3/19/17 winter doddsii 7.8 2.385999034 3.556416667
3 3/19/17 winter doddsii 8.2 2.749028097 3.556416667
1 3/19/17 winter doddsii 8.6 3.145994526 3.556416667
5 3/19/17 winter cockerelli 8.7 2.603054046 3.556416667
1 3/19/17 winter doddsii 9 3.578270231 3.556416667
5 3/19/17 winter doddsii 9.4 4.047216436 3.556416667
5 3/19/17 winter cockerelli 9.7 3.545136654 3.556416667
5 3/19/17 winter cockerelli 10.6 4.560698666 3.556416667
4 3/19/17 winter cockerelli 10.8 4.80925792 3.556416667
4 3/19/17 winter grandis 10.8 4.80925792 3.556416667
4 3/19/17 winter cockerelli 10.9 4.936758182 3.556416667
1 3/19/17 winter cockerelli 11 5.066427825 3.556416667
2 3/19/17 winter cockerelli 11 5.066427825 3.556416667
1 3/19/17 winter grandis 11 5.066427825 3.556416667
1 3/19/17 winter cockerelli 11.2 5.332341968 3.556416667
2 3/19/17 winter cockerelli 11.5 5.747899893 3.556416667
这是我的代码:
newdata = split(data, list(data$Species, data$Site))
seasonCompare = lapply(newdata, function(x) {
m.interaction = (lm(BodySize ~ SeasonGDD*Site, data = x))
#Anova table
anova(m.interaction)
# Obtain slopes
m.interaction$coefficients
m.lst = lstrends(m.interaction, "Site", var="SeasonGDD")
# Compare slopes
print(pairs(m.lst))
})
我希望输出如下所示:
[[1]]$cockerelli.1
P value adjustment: tukey method for comparing a family of 5 estimates
contrast estimate SE df t.ratio p.value
1 - 2 0.0044905951 0.0020291812 525 2.213 0.1764
1 - 3 0.0007809249 0.0004559391 525 1.713 0.4269
1 - 4 0.0022220434 0.0004862632 525 4.570 0.0001
1 - 5 0.0610176389 0.0141858874 525 4.301 0.0002
2 - 3 -0.0037096702 0.0020046493 525 -1.851 0.3457
[[1]]$infrequens.1
P value adjustment: tukey method for comparing a family of 5 estimates
contrast estimate SE df t.ratio p.value
1 - 2 -4.003309e-04 0.0002637222 3067 -1.518 0.5508
1 - 3 -2.272248e-04 0.0001984400 3067 -1.145 0.7825
1 - 4 -3.664736e-04 0.0001983656 3067 -1.847 0.3464
提前非常感谢!
不需要的输出:
contrast estimate SE df t.ratio p.value
1 - 2 -0.010726867 0.0014693633 345 -7.300 <.0001
1 - 3 -0.008197681 0.0009939915 345 -8.247 <.0001
1 - 4 -0.009577345 0.0010252581 345 -9.341 <.0001
1 - 5 -0.424121019 0.0759824627 345 -5.582 <.0001
2 - 3 0.002529186 0.0013368246 345 1.892 0.3236
2 - 4 0.001149522 0.0013602334 345 0.845 0.9163
2 - 5 -0.413394152 0.0759877208 345 -5.440 <.0001
3 - 4 -0.001379664 0.0008241514 345 -1.674 0.4514
3 - 5 -0.415923338 0.0759800152 345 -5.474 <.0001
4 - 5 -0.414543674 0.0759804306 345 -5.456 <.0001
P value adjustment: tukey method for comparing a family of 5 estimates
contrast estimate SE df t.ratio p.value
1 - 2 -3.445648e-06 0.0008580996 279 -0.004 1.0000
1 - 3 3.055790e-03 0.0011595803 279 2.635 0.0240
2 - 3 3.059235e-03 0.0012805524 279 2.389 0.0461
【问题讨论】:
-
当前代码有什么问题?有什么错误吗?不想要的结果?
-
嗨冻糕,没有错误。不希望的结果是每个列表项的以下文本的多个输出,但无法知道它用于哪个列表项。我想用 [[1]]$infrequens.1 之类的东西来命名输出,如上面原始问题中所示,而现在我得到的输出只是开始于:P 值调整:用于比较 5 个家庭的 tukey 方法估计对比估计 SE df t.ratio p.value 1 - 2 -4.003309e-04 0.0002637222 3067 -1.518 0.5508 1 - 3 -2.272248e-04 0.0001984400 3067 -1.145 0.7825 等
-
请edit您的帖子显示不受欢迎的结果。我看不出你的意思,因为
split返回一个命名的项目列表。无需在长评论中重复所需的输出。 -
顺便说一句,您的代码从未使用过传递给
lapply函数的x。您应该已经收到所有元素的准确输出。