使用其他变量添加新列

时间:2018-06-13 19:28:38

标签: r dataframe

我想根据球员俱乐部的名称在我的样本数据中添加一个名为“联盟”的新专栏。当然,我的数据库包含一千条记录。

我的数据框:

df <- read.table(text= " Club       Player
                 'Real Madrid CF'     Ronaldo 
                 'FC Barcelona'       Messi 
                 'FC Bayern München'  Kross 
                 'Club Atlético de Madrid'  Torres
                 Juventus           Dybala
                 'Paris Saint-Germain'       Neymar",
                 header=TRUE)

我的想法:

df$League <- ifelse(df$Club == "Real Madrid CF", "Spain",
                     ifelse(df$Club == "FC Barcelona", "Spain",
                     ifelse(df$Club == "Club Atlético de Madrid", "Spain",       
                     ifelse(df$Club == "Juventus", "Italy","Germany"))))

但是,这太费时了,我还希望将 Na 包含在这些联盟之外的其他玩家中。

1 个答案:

答案 0 :(得分:1)

我们可以创建一个命名向量('key / val'),然后通过将键与'Club'元素匹配来进行替换

=iif(Parameters!pmPlant.Count = CountRows( "DataSet2",  ),"All Plants", Join(Parameters!pmPlant.Label,"; "))

或另一种选择是创建一个键/ val数据集,执行df$League <- nm1[as.character(df$Club)] df$League[is.na(df$League)] <- "Germany"

数据

left_join