Есть ли способ объединить два кадра данных на основе их разницы? Например, у нас есть этот кадр данных ...r объединение данных на основе differece
set.seed(1234)
example1 = data.frame(Area=c("Zone1","Zone2","Zone3","Zone4"),
X1a=sample(10,4), X1b=sample(10,4), X1c=sample(10,4),
X1d=sample(10,4), X1e=sample(10,4))
example1
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 3 10 2 8 10
#3 Zone3 10 9 7 1 5
#4 Zone4 2 2 4 4 2
И мы делаем некоторые операции, как это и мы в конечном итоге ...
example2<-example1[-c(2,4),]
example2
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#3 Zone3 10 9 7 1 5
Есть ли способ объединить эти два основаны на разница между ними, например, я хочу объединить пример2 с примером1, есть ли способ закончить так?
example3<-combineDiff(original=example2, use= example1)
example3
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 3 10 2 8 10
#3 Zone3 10 9 7 1 5
#4 Zone4 2 2 4 4 2
Таким образом, мы не получаем дубликатов строк Zone1 и Zone3? Также есть способ изменить значения этих новых строк? Например, что-то вроде этого?
example3<-combineDiff(original=example2, use=example1, newRows=0)
example3
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 0 0 0 0 0
#3 Zone3 10 9 7 1 5
#4 Zone4 0 0 0 0 0
I'm спрашивает, потому что я работаю с визуализацией некоторых данных с листком и г, А I'm работает в неприятность, когда я выборка данных (например, «показать только данные от людей» или «люди более 50 "). Способ, которым я настроил это, заключается в том, что данные получают подмножество, основанное на checkboxinput, и часто бывает, что в итоге у меня меньше строк, а затем зон, которые я пытаюсь визуализировать, что мешает выходу, поэтому мне нужен способ повторно вставить потерянные строки/зоны и изменить их значение, чтобы я знал, что они должны быть равны нулю или NA.
Я не уверен, что понимаю, что вы делаете на третьем шаге, 'example3' выглядит идентично' example1' – mtoto
Есть ли только одна строка для каждой зоны в df? – Gopala
Начните с 'part <-use [! Use $ Area% in% original $ Area,]', чтобы получить часть второго аргумента, отсутствующего в оригинале. Затем вы можете «перевернуть» его на «оригинал», при необходимости изменив его значения на «newRows» (например, 'part [-1] <- newRows'). – nicola