Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将两个相同的数据帧组合在一起,并替换一列中的值?_R - Fatal编程技术网

R 如何将两个相同的数据帧组合在一起,并替换一列中的值?

R 如何将两个相同的数据帧组合在一起,并替换一列中的值?,r,R,我这里有一个简单的概念问题,需要一些帮助 这是我的密码: 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[

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

这是我的密码:

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
我想这可以用一个函数来实现,但我不知道是哪一个!谢谢

编辑


我试图理解当我有两个相同的数据帧,但一列的值有变化时会发生什么。我可以使用什么函数将这两个数据帧组合在一起,以便替换值

您到底希望得到什么仍然有点不清楚,但这里有一个适合您的数据的示例:

rbind(
  df[!df$ID %in% rankrange$ID, ], 
  rankrange
)

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

这就是你要找的吗

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
df$Rank 2,NA,df$Rank)
身份等级
1杰克1
汤姆2
克洛伊·娜
玛丽娜
5最大NA

你不需要循环
df$Rank[df$Rank>2]你好,我知道你的方法很有效。我只是好奇我有两个数据帧的情况,并希望将它们与值替换结合在一起!上面我给出的例子是我试图实现的一个简化版本Hi snoram、rbind将只按行组合,给我Chloe、Mary和Max的重复条目。如果有两个data.frames,请使用
match
merge
当有一个公共列时,顺便说一句,您正在创建一个stirng“NA”而不仅仅是做作业
rankrange$Rank
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