我正在创建一个函数,以在将两个数据框连接在一起之前识别出它们之间的ID。
到目前为止,我的功能如下:
match_check <- function(df1,var1,df2,var2){
df1ids <- unique(df1$var1)
matchs <- c()
no_matchs <- c()
for (id in df1ids){
if (id %in% df2$var2 == TRUE){
match <- append(match, id)}
else{
no_matchs <- append(no_match,id)
}
}
print(no_matchs)
match2 <- c()
no_match2 <- c()
df2ids <- unique(df2$var2)
for (id in df2ids){
if (id %in% df1$var1 == TRUE){
match2 <- append(match2, id)}
else{
no_match2 <- append(no_match2,id)
}
}
print(no_match2)
}
test1 <- data.frame(id=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15))
test2 <- data.frame(id=c(0,-2,-4,-6,-1,1,2,3,4,5,5,6,7,8))
match_check(test1,id,test2,id)
当我运行函数时,打印的矢量将打印为NULL。 我希望它打印出彼此之间找不到的ID,因此我知道彼此之间缺少的ID,并给出如下所示的向量:
no_matchs = c(9,10,11,12,13,14,15)
no_match2 = c(0,-2,-4,-6)
答案 0 :(得分:2)
df_grouped = df.groupby(['program']).sum()