首页 > 解决方案 > 如何将两个相同的数据框组合在一起并在一列中替换一些值?

问题描述

我在这里有一个简单的概念问题,需要一些帮助!

这是我的代码:

Rank <- c(1,2,3,4,5)
ID <- c("Jack", "Tom", "Chloe", "Mary", "Max")

df <- data.frame(ID, Rank)

rankrange <- subset(df, Rank >2)

for (i in 1:nrow(rankrange)){ #revaluing numbers 3,4,5 with NA
  rankrange[i,2] <- "NA"
}

    ID   Rank
3 Chloe   NA
4  Mary   NA
5   Max   NA

如何结合 df 和 rankrange 以便将 Chloe、Mary 和 Max 的值替换为 df 中的 NA?

我希望得到这样的结果:

    ID   Rank
1 Jack    1
2 Tom     2
3 Chloe   NA
4  Mary   NA
5   Max   NA

我认为这可以通过一个函数来实现,但我不知道是哪个!谢谢!

编辑

我试图了解如果我有两个相同的数据框但一列的值有所不同时会发生什么。我可以使用什么函数将这两个数据框组合在一起以替换值?

标签: r

解决方案


这是你想要的?

df$Rank <- ifelse(df$Rank > 2, NA, df$Rank)

     ID Rank
1  Jack    1
2   Tom    2
3 Chloe   NA
4  Mary   NA
5   Max   NA

推荐阅读