我目前在一些房屋数据方面面临以下问题。我有一个数据框,其中包含超过100,000个观察值。对于每个观察,都有一个邮政编码。假设数据框看起来如下
size <- c(20, 30, 40, 50, 30, 45, 60)
rent <- c(100, 200, 300, 400, 350, 460, 700)
ZIP <- c(1000, 1500, 2000, 2500, 1500, 2000, 2500)
df <- data.frame(size, rent, ZIP)
我想将其他邮政编码级别替换为其他值(自行构建类别)。这些其他值/类别存储在另一个数据帧中,该数据帧将新值分配给每个邮政编码级别。说数据框看起来如下:
ZIP_levels <- c(levels(ZIP))
ZIP_New <- c(1, 1, 2, 2)
df2 <- data.frame(ZIP_levels, ZIP_New)
如何创建类似于VLOOKUP的东西,可以轻松地将df中的ZIP
值替换为df2中的ZIP_New
值?
答案 0 :(得分:0)
使用dplyr
library(dplyr)
df_new <- left_join(df, df2, by = "ZIP")
bf_new$ZIP <- NULL