【发布时间】:2020-11-25 22:02:02
【问题描述】:
我有一个包含多个变量的所有世界杯球队的数据集,从 1930 年到 2006 年,如下所示:
Year Team ISO GF GA Penalties Matches SOG SW FK Offside Corners Won Drawn Lost
1: 1930 Argentina AR 18 9 0 5 18 0 0 0 0 4 0 1
2: 1930 Uruguay UY 15 3 0 4 15 0 0 0 0 4 0 0
3: 1930 USA US 7 6 0 3 7 0 0 0 0 2 0 1
4: 1930 Yugoslavia YU 7 7 0 3 7 0 0 0 0 2 0 1
5: 1930 Brazil BR 5 2 0 2 5 0 0 0 0 1 0 1
6: 1930 Chile CL 5 3 0 3 5 0 0 0 0 2 0 1
我想指出哪支球队是给定年份的获胜者,即创建一个新变量并将 1 分配给获胜者,将 0 分配给其他球队,如下所示:
Year Team ISO GF GA Penalties Matches SOG SW FK Offside Corners Won Drawn Lost Winner
1: 1930 Argentina AR 18 9 0 5 18 0 0 0 0 4 0 1 0
2: 1930 Uruguay UY 15 3 0 4 15 0 0 0 0 4 0 0 1
3: 1930 USA US 7 6 0 3 7 0 0 0 0 2 0 1 0
4: 1930 Yugoslavia YU 7 7 0 3 7 0 0 0 0 2 0 1 0
5: 1930 Brazil BR 5 2 0 2 5 0 0 0 0 1 0 1 0
6: 1930 Chile CL 5 3 0 3 5 0 0 0 0 2 0 1 0
我有一个按顺序排列获胜者的向量,我想这样做:
data[, Winner := ifelse(Team == c("Uruguay", "Italy", "Italy", "Uruguay", "Germany FR", "Brazil", "Brazil", "England", "Brazil", "Germany FR", "Argentina", "Italy", "Argentina", "Germany FR", "Brazil", "France", "Brazil", "Italy"), 1, 0), by = Year]
所以在 1930 年将 1 分配给乌拉圭,将 0 分配给其他球队,将 1 分配给意大利,在 1934 年将 0 分配给其他球队,依此类推……但这当然行不通,您能帮我实现我的目标吗?目标?
【问题讨论】:
-
你的例子不清楚。你能用多个“年”和预期的输出展示一个更好的例子吗
标签: r if-statement data.table