The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
daff is an R package that can find difference in values between
data.frames, store this difference, render it and apply
this difference to patch a data.frame. It can also merge
two versions of a data.frame having a common parent. It
wraps the daff.js library
using the V8 package.
The diff format is described in https://paulfitz.github.io/daff-doc/spec.html.
Functions:
diff_datapatch_dataread_diff and
write_diffrender_diffmerge_dataYou can install the development version of daff from GitHub with:
# install.packages("devtools")
devtools::install_github("edwindj/daff")Calculate the difference between a reference and a changed
data.frame
library(daff)
y <- iris[1:3,]
x <- y
x <- head(x,2) # remove a row
x[1,1] <- 10 # change a value
x$hello <- "world" # add a column
x$Species <- NULL # remove a column
patch <- diff_data(y, x)
# write a patch to disk
write_diff(patch, "patch.csv")render_diff(patch) will generate the following HTML
page:
Patch a data.frame using a diff generated with
diff_data.
# read a diff from disk
patch <- read_diff("patch.csv")
# apply patch
y_patched <- patch_data(y, patch)Merge two data.frames that have diverged from a common
parent data.frame.
parent <- a <- b <- iris[1:3,]
a[1,1] <- 10
b[2,1] <- 11
# succesful merge
merge_data(parent, a, b)
parent <- a <- b <- iris[1:3,]
a[1,1] <- 10
b[1,1] <- 11
# conflicting merge (both a and b change same cell)
merged <- merge_data(parent, a, b)
merged #note the conflict
#find out which rows contain a conflict
which_conflicts(merged)These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.