R 具有唯一数据的重复ID

R 具有唯一数据的重复ID,r,duplicates,unique,R,Duplicates,Unique,我有一个如下所示的数据集: 我有两个唯一的城镇(Aurangabad和Munger)具有相同的ID。如何将Munger的ID号更改为193。通过比较您要查找的城镇名称来选择行。按名称选择列。将新值指定给选定的单元格 df[df$Town.name==“芒格镇”,“ID”]简的答案比我的要优雅得多。但是,我的方法仍然可以完成工作: 在未来,最好能为我们提供数据,请这样做。我重新创建了三行或您的数据来显示一种方法 在R中创建数据 df <- data.frame(Town.ID = c( &

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


我有两个唯一的城镇(Aurangabad和Munger)具有相同的ID。如何将Munger的ID号更改为193。

通过比较您要查找的城镇名称来选择行。按名称选择列。将新值指定给选定的单元格


df[df$Town.name==“芒格镇”,“ID”]简的答案比我的要优雅得多。但是,我的方法仍然可以完成工作:

在未来,最好能为我们提供数据,请这样做。我重新创建了三行或您的数据来显示一种方法

在R中创建数据

df <- data.frame(Town.ID = c( "192", "192", "171"), Town.Name = c("Town of Aurangabad", "Town of Munger", "Town of Ara"))

对于过滤后的数据集,只需将Town.ID列中的值192更改为193即可(注意:数据需要被视为.factor()
,才能起作用

f_filter$Town.ID <- as.factor(df_filter$Town.ID)
levels(df_filter$Town.ID)[levels(df_filter$Town.ID)=="192"] <- "193"

瞧,完成了

请阅读如何用R提问一个好问题。特别是,请通过编辑
dput(head(data))的输出包含一个可复制的示例
进入您的原始问题。这将有助于人们回答您的问题。谢谢。干得好。我一直在琢磨如何选择两个参数,在本例中是两列,以针对非常具体的数据并对其进行更改。因此,我在回答时做了一次彻底的失败。但您教会了我如何在e未来。谢谢
f_filter$Town.ID <- as.factor(df_filter$Town.ID)
levels(df_filter$Town.ID)[levels(df_filter$Town.ID)=="192"] <- "193"
df$Town.Name <- as.factor(df$Town.Name)
levels(df$Town.Name)[levels(df$Town.Name)=="Town of Munger"] <- NA

# Remove NAs
new_df <- df[(!is.na(df$Town.Name)),]
library(gtools)
Final_df <- smartbind(new_df,df_filter)