Я пытаюсь вставить новые строки данных на основе уникальных значений столбца в моем исходном наборе данных. У меня есть следующий набор фиктивных данных:
sites<-c("10","10","11","11","12","12")
ID<-c("A","A","B","B","C","D")
value<-c("4","6","5","2","7","8")
dataframe<-data.frame(sites, ID, value)
sites<-c("10","10","11","11","12","12","13","14","15")
dataframe2<-data.frame(sites)
Производство:
sites ID value
10 A 4
10 A 6
11 B 5
11 B 2
12 C 7
12 D 8
sites
10
10
11
11
12
12
13
14
15
Для каждого уникального значения в идентификаторе столбца я хотел бы, чтобы применялся каждый номер сайта из второго фрейма данных, а когда значение отсутствует, я хотел бы, чтобы оно печатало 0.
Так, например, для идентификатора A будут перечислены все сайты из site2, и когда значение отсутствует (то есть для сайта 11, 12, 13,14), я бы хотел, чтобы значение 0 указывалось.
Я пробовал следующее:
mergeddata<-merge(dataframe, dataframe2, by="sites", all.y=TRUE)
Но это только добавляет новые сайты внизу с NA для каждого значения, кроме сайта. Я хочу, чтобы dataframe2 применялся к каждому уникальному значению в столбце ID, чтобы у каждого идентификатора были вхождения всех сайтов. Я не уверен, что лучший способ это сделать, любая помощь очень ценится!