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_data
patch_data
read_diff
and write_diff
render_diff
merge_data
You can install the development version of daff from GitHub with:
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.frame
s 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.