У меня есть два фрейма данных, которые я хочу подключить.
Первый:
V1 <- c("AB1", "AB2", "AB3" ,"AB4" ,"AB5" ,"AB6" ,"AB7","AB6","AB9" ,"AB10")
df1 <- data.frame(V1)
Второй:
V5 <- c("AB1","","","", "AB3", "AB4", "AB5", "AB6")
V6 <- c("AB","AB2","","AB", "", "AB", "", "AB")
V7 <- c("AB","AB","AB","", "AB", "", "AB", "AB")
V8 <- c(1,2,2,2,3,4,5,6)
df2 <- data.frame(V5,V6, V7, V8)
Я пытаюсь найти V1 из df1 в df2 в столбцах V5, V6 и V7 и возвращаю V8 из df2, а также добавляю столбец с yes (когда df $ V1 находится в df2).
Желаемый результат:
V df1$V1 res df$V8 Yes/no
AB1 1 1
AB2 2 1
AB3 3 1
AB4 4 1
AB5 5 1
AB6 6 1
AB7 0
AB6 0
AB9 0
AB10 0
У меня есть код ниже, но я не могу заставить их работать только для 3 столбцов из df2 одновременно?
df1$res[match(df2$V5,df1$V1, nomatch=0)] <- df2$V6[match(df2$V5,df1$V1, nomatch = 0)]