【发布时间】:2020-10-15 21:17:39
【问题描述】:
感谢您的帮助,我已经收到here 转... 这:
我只对阿斯顿维拉一支球队所做的事情,现在我想对数据集中的所有球队进行尝试。数据集的前15行如下:
我想遍历数据并为所有团队创建额外的列,就像我为上面的阿斯顿维拉所做的那样。 首先,我创建了一个包含 20 个团队的列表并将其称为“团队”。然后我尝试了...
for(i in teams){
mydata %>%
mutate(
HG = ifelse(HomeTeam == i, FTHG,
ifelse(HomeTeam != i, 0, 0)),
AG = ifelse(AwayTeam == i, FTAG,
ifelse(AwayTeam != i, 0, 0)),
THG = cumsum(HG),
TAG = cumsum(AG),
Tot = THG+TAG
)
}
但输出仅显示它为西汉姆联队工作,就像它只为西汉姆联队循环然后停止。即使这样也不对。。
它应该在 THG、TAG 和 Tot 列中分别显示每支球队的主场进球、客场进球和总得分,但这根本没有发生。如上所述,当我分离出一支球队阿斯顿维拉时效果很好。
我哪里错了?
如何保存输出?
【问题讨论】:
-
嗨,欢迎来到 Stack Overflow。我无法理解您到底要做什么,但是 loop+mutate 会让您改变循环内的所有行...并且您会覆盖您在前一个循环中所做的事情。. 不是“西汉姆”最后一个您的对象(向量)“团队”中的项目?
标签: r for-loop multiple-columns dplyr