替换数据框列中的值

时间:2014-01-27 12:48:49

标签: r dataframe

我有一个如下所示的数据框:

    ID    Club
1   1   arsenal
2   1   chelsea
3   1   fulham
4   2   chelsea
5   2   fulham
6   3   arsenal
7   3   chelsea
8   3   fulham

显然,我的实际数据框架比这大得多。

我想将1,2,3,...等ID替换为我派生的列表(10,5,7,...)。 所以例如我希望我的表看起来像这样:

    ID    Club
1   10   arsenal
2   10   chelsea
3   10   fulham
4   5   chelsea
5   5   fulham
6   7   arsenal
7   7   chelsea
8   7   fulham

我的问题:

  • 具有特定身份证的俱乐部数量。我通常有3支具有特定身份证的球队,你可以在第4和第4线看到。 5只有切尔西和富勒姆有ID 5(不是阿森纳)。
  • 我只有一个ID的列表(不是必需的数字,可能多达三个)。

任何人都可以给我一个关于如何开始这个的提示吗?我已经考虑了很长一段时间了,而且我无法理解它。

1 个答案:

答案 0 :(得分:0)

我不明白你的两个问题,但使用match可以给你的第二个表:

tab <- c("1"=10, "2"=5, "3"=7)
df$ID <- tab[match(df$ID, names(tab))]
print(df, row.names=FALSE)
#  ID    Club
#  10 arsenal
#  10 chelsea
#  10  fulham
#   5 chelsea
#   5  fulham
#   7 arsenal
#   7 chelsea
#   7  fulham