提问人:Nerea 提问时间:11/15/2023 更新时间:11/15/2023 访问量:25
如何在两个具有不同行数的数据集之间进行匹配?
How can I do a matching between two datasets with different amount of rows?
问:
我有一个包含 16 个 ID 类别的数据集 (PRUEBAsummary_NO2_2019_ID)。我想将这 16 个类别与相应的地区代码 (21) 相匹配。我希望与ID对应的行在需要时重复,重要的是每个地区都有相应的信息。事情是这样的:ID A 有 1 区,ID B 有 2 区,C 有 3 区,D 有 4 区,E 有 5 区和 6 区,F 有 7 区,G 有 8 区,H 有 9 区,ID I 有 10、11 和 12 区;J 代表 13,K 代表 14,L 代表 15,M 代表 16,N 代表 17,O 代表 18 和 19,P 代表 20 和 21 区。我想保留PRUEBAsummary_NO2_2019_ID数据集中包含的所有信息。为此,除区代码外,某些行在所有方面都是相等的。
我
# Assuming you have a column "ID" in PRUEBAsummary_NO2_2019_ID
# Create a new column "District_Code" based on the mapping
PRUEBAsummary_NO2_2019_ID$District_Code <- NA
# Mapping based on the information you provided
id_to_district_mapping <- c(
A = 1,
B = 2,
C = 3,
D = 4,
E = c(5, 6),
F = 7,
G = 8,
H = 9,
I = c(10, 11, 12),
J = 13,
K = 14,
L = 15,
M = 16,
N = 17,
O = c(18, 19),
P = c(20, 21)
)
# Assign district codes based on the mapping
for (id in names(id_to_district_mapping)) {
PRUEBAsummary_NO2_2019_ID$District_Code[PRUEBAsummary_NO2_2019_ID$ID == id] <- id_to_district_mapping[id]
}
# Duplicate rows based on the District_Code
PRUEBAsummary_NO2_2019_ID_duplicated <- PRUEBAsummary_NO2_2019_ID %>%
unnest(cols = c(District_Code)) %>%
mutate(CODDISTRIT = as.numeric(District_Code)) %>%
dplyr::select(CODDISTRIT, ID, sumhourly_exceedances, sumdaily_exceedances, count, mean_value) %>%
complete(CODDISTRIT, ID, fill = list(sumhourly_exceedances = 0, sumdaily_exceedances = 0, count = 0, mean_value = 0))
一直在做很多事情,类似于这个,但没有任何效果,因为我总是得到 16 行
答: 暂无答案
评论