Description Usage Arguments Details Contact Note Author(s) References See Also Examples
rmFromLocalRepo
removes an artifact given as a md5hash
from the Repository.
To learn more about artifacts visit archivist-package.
1 2 3 4 5 6 7 8 9 10 | rmFromLocalRepo(
md5hash,
repoDir = aoptions("repoDir"),
removeData = FALSE,
removeMiniature = FALSE,
force = FALSE,
many = FALSE
)
rmFromRepo(...)
|
md5hash |
A character assigned to the artifact through the use of a
cryptographical hash function with MD5 algorithm, or it's abbreviation.
This object will be removed. If |
repoDir |
A character denoting an existing directory from which an artifact will be removed. |
removeData |
A logical value denoting whether to remove data along with
the |
removeMiniature |
A logical value denoting whether to remove a miniature
along with the |
force |
A logical value denoting whether to remove data related to more than one artifact.
Defualt |
many |
A logical value. To accelerate the speed of removing many objects,
you can set this parameter to |
... |
All arguments are being passed to |
rmFromLocalRepo
removes an artifact given as a md5hash from the Repository.
To be more precise, an artifact is removed
both from backpack.db
file(the SQLite database)and gallery
subdirectory,
where the artifacts are stored as md5hash.rda
files.
Important: instead of giving the whole md5hash
character, a user
can simply give its first few characters. For example, "a09dd"
instead of "a09ddjdkf9kj33dcjdnfjgos9jd9jkcv"
.
All artifacts with the same md5hash
abbreviation will be removed
from the Repository
.
rmFromLocalRepo
provides functionality that enables us to delete miniatures
of the artifacts (.txt or .png files) while removing .rda files.
To delete miniature of the artifact use removeMiniature = TRUE
argument.
Moreover, if the data from the artifact is archived then there is a possibility
to delete this data while removing the artifact. Simply use removeData = TRUE
argument.
If one wants to remove all artifacts created between two dates, it is suggested to perform:
obj2rm <- searchInLocalRepo( tag = list(dateFrom, dateTo), repoDir = )
sapply(obj2rm, rmFromLocalRepo, repoDir = )
Bug reports and feature requests can be sent to https://github.com/pbiecek/archivist/issues
md5hash
can be a result of the searchInLocalRepo function called
by tag = NAME
argument, where NAME
is a Tag that describes
the property of the artifacts to be deleted.
It is not possible to use a vector of artifacts' md5hashes
abbreviations
while using many = TRUE
argument. This assumption was made
to protect a user from removing, by accident, too many artifacts from the Repository.
For more information about Tags
check Tags.
Marcin Kosinski , m.p.kosinski@gmail.com Witold Chodor , witoldchodor@gmail.com
Biecek P and Kosinski M (2017). "archivist: An R Package for Managing, Recording and Restoring Data Analysis Results." _Journal of Statistical Software_, *82*(11), pp. 1-28. doi: 10.18637/jss.v082.i11 (URL: http://doi.org/10.18637/jss.v082.i11). URL https://github.com/pbiecek/archivist
Other archivist:
Repository
,
Tags
,
%a%()
,
addHooksToPrint()
,
addTagsRepo()
,
aformat()
,
ahistory()
,
alink()
,
aoptions()
,
archivist-package
,
areadLocal()
,
aread()
,
asearchLocal()
,
asearch()
,
asession()
,
atrace()
,
cache()
,
copyLocalRepo()
,
createLocalRepo()
,
createMDGallery()
,
deleteLocalRepo()
,
getRemoteHook()
,
getTagsLocal()
,
loadFromLocalRepo()
,
md5hash
,
removeTagsRepo()
,
restoreLibs()
,
saveToLocalRepo()
,
searchInLocalRepo()
,
setLocalRepo()
,
shinySearchInLocalRepo()
,
showLocalRepo()
,
splitTagsLocal()
,
summaryLocalRepo()
,
zipLocalRepo()
Other archivist:
Repository
,
Tags
,
%a%()
,
addHooksToPrint()
,
addTagsRepo()
,
aformat()
,
ahistory()
,
alink()
,
aoptions()
,
archivist-package
,
areadLocal()
,
aread()
,
asearchLocal()
,
asearch()
,
asession()
,
atrace()
,
cache()
,
copyLocalRepo()
,
createLocalRepo()
,
createMDGallery()
,
deleteLocalRepo()
,
getRemoteHook()
,
getTagsLocal()
,
loadFromLocalRepo()
,
md5hash
,
removeTagsRepo()
,
restoreLibs()
,
saveToLocalRepo()
,
searchInLocalRepo()
,
setLocalRepo()
,
shinySearchInLocalRepo()
,
showLocalRepo()
,
splitTagsLocal()
,
summaryLocalRepo()
,
zipLocalRepo()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | ## Not run:
# objects preparation
data.frame object
data(iris)
# ggplot/gg object
library(ggplot2)
df <- data.frame(gp = factor(rep(letters[1:3], each = 10)),y = rnorm(30))
library(plyr)
ds <- ddply(df, .(gp), summarise, mean = mean(y), sd = sd(y))
myplot123 <- ggplot(df, aes(x = gp, y = y)) +
geom_point() + geom_point(data = ds, aes(y = mean),
colour = 'red', size = 3)
# lm object
model <- lm(Sepal.Length~ Sepal.Width + Petal.Length + Petal.Width, data= iris)
model2 <- lm(Sepal.Length~ Sepal.Width + Petal.Width, data= iris)
model3 <- lm(Sepal.Length~ Sepal.Width, data= iris)
# agnes (twins) object
library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
# fanny (partition) object
x <- rbind(cbind(rnorm(10, 0, 0.5), rnorm(10, 0, 0.5)),
cbind(rnorm(15, 5, 0.5), rnorm(15, 5, 0.5)),
cbind(rnorm( 3,3.2,0.5), rnorm( 3,3.2,0.5)))
fannyx <- fanny(x, 2)
# creating example Repository - on which examples will work
exampleRepoDir <- tempfile()
createLocalRepo(repoDir = exampleRepoDir)
myplot123Md5hash <- saveToLocalRepo(myplot123, repoDir=exampleRepoDir)
irisMd5hash <- saveToLocalRepo(iris, repoDir=exampleRepoDir)
modelMd5hash <- saveToLocalRepo(model, repoDir=exampleRepoDir)
agn1Md5hash <- saveToLocalRepo(agn1, repoDir=exampleRepoDir)
fannyxMd5hash <- saveToLocalRepo(fannyx, repoDir=exampleRepoDir)
# let's see how the Repository looks like: show
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
showLocalRepo(method = "tags", repoDir = exampleRepoDir)
# let's see how the Repository looks like: summary
summaryLocalRepo( exampleRepoDir )
# remove examples
rmFromLocalRepo(fannyxMd5hash, repoDir = exampleRepoDir)
# removeData = FALSE default argument provides from removing archived
# fannyxMd5hash object's data from the Repository and the gallery
rmFromLocalRepo(irisMd5hash, repoDir = exampleRepoDir)
# let's see how the Repository looks like: show
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
showLocalRepo(method = "tags", repoDir = exampleRepoDir)
# let's see how the Repository looks like: summary
summaryLocalRepo( exampleRepoDir )
# one can have the same object archived three different times,
# there will appear a warning message
agn1Md5hash2 <- saveToLocalRepo(agn1, repoDir=exampleRepoDir)
agn1Md5hash3 <- saveToLocalRepo(agn1, repoDir=exampleRepoDir)
# md5hashes are the same for the same object (agn1)
agn1Md5hash == agn1Md5hash2
agn1Md5hash2 == agn1Md5hash3
# but in the Repository database (backpack.db)
# there are three identical rows describing the object
# as well as three identical rows describing object's data.
# let's see how the Repository looks like: show
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
showLocalRepo(method = "tags", repoDir = exampleRepoDir)
# let's see how the Repository looks like: summary
summaryLocalRepo( exampleRepoDir )
# in spite of multiplying object's appearance in database it is
# one easy call removes them all but this call will result in error
rmFromLocalRepo(agn1Md5hash, repoDir = exampleRepoDir, removeData = TRUE,
removeMiniature = TRUE)
# soultion to that is
rmFromLocalRepo(agn1Md5hash, repoDir = exampleRepoDir, removeData = TRUE,
removeMiniature = TRUE, force = TRUE)
# removeMiniature = TRUE removes miniatures from the gallery folder
# rest of the artifacts can be removed for example by
# looking for dates of creation and then removing all objects
# created in a specific period of time
obj2rm <- searchInLocalRepo( pattern = list(dateFrom = Sys.Date(), dateTo = Sys.Date()),
repoDir = exampleRepoDir )
sapply(obj2rm, rmFromLocalRepo, repoDir = exampleRepoDir)
# above function call removed all objects which were created in these examples.
# Note that in the gallery folder there may be still some miniatures as
# removeMiniature parameter is set to FALSE
# let's see how the Repository looks like: show
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
showLocalRepo(method = "tags", repoDir = exampleRepoDir)
# one can also delete objects of a specific class
modelMd5hash <- saveToLocalRepo(model, repoDir=exampleRepoDir)
model2Md5hash <- saveToLocalRepo(model2, repoDir=exampleRepoDir)
model3Md5hash <- saveToLocalRepo(model3, repoDir=exampleRepoDir)
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
objMd5hash <- searchInLocalRepo("class:lm", repoDir = exampleRepoDir)
sapply(objMd5hash, rmFromLocalRepo, repoDir = exampleRepoDir, removeData = TRUE, force = TRUE)
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
summaryLocalRepo( exampleRepoDir )
# one can remove object specifying only its md5hash abbreviation
(myplo123Md5hash <- saveToLocalRepo(myplot123, repoDir=exampleRepoDir))
showLocalRepo(method = "md5hashes", repoDir = exampleRepoDir)
# If md5hash is "db50a4e667581f8c531acd78ad24bfee" then
# model abbreviation might be : "db50a"
# Note that with each evaluation of createEmptyRepo function new md5hashes
# are created. This is why, in your evaluation of the code, artifact
# myplo123Md5hash will have a different md5hash and the following
# instruction will result in an error.
rmFromLocalRepo("db40a", repoDir = exampleRepoDir, removeData = TRUE)
summaryLocalRepo( repoDir = exampleRepoDir )
# removing an example Repository
deleteLocalRepo( exampleRepoDir, TRUE)
######
######
REMOVING MANY ARTIFACTS
######
######
data(iris)
# lm object
model <- lm(Sepal.Length~ Sepal.Width + Petal.Length + Petal.Width, data= iris)
# agnes (twins) object
library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
# fanny (partition) object
x <- rbind(cbind(rnorm(10, 0, 0.5), rnorm(10, 0, 0.5)),
cbind(rnorm(15, 5, 0.5), rnorm(15, 5, 0.5)),
cbind(rnorm( 3,3.2,0.5), rnorm( 3,3.2,0.5)))
fannyx <- fanny(x, 2)
# lda object
library(MASS)
Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]),
Sp = rep(c("s","c","v"), rep(50,3)))
train <- c(8,83,115,118,146,82,76,9,70,139,85,59,78,143,68,
134,148,12,141,101,144,114,41,95,61,128,2,42,37,
29,77,20,44,98,74,32,27,11,49,52,111,55,48,33,38,
113,126,24,104,3,66,81,31,39,26,123,18,108,73,50,
56,54,65,135,84,112,131,60,102,14,120,117,53,138,5)
lda1 <- lda(Sp ~ ., Iris, prior = c(1,1,1)/3, subset = train)
# qda object
tr <- c(7,38,47,43,20,37,44,22,46,49,50,19,4,32,12,29,27,34,2,1,17,13,3,35,36)
train <- rbind(iris3[tr,,1], iris3[tr,,2], iris3[tr,,3])
cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))
qda1 <- qda(train, cl)
# glmnet object
library( glmnet )
zk=matrix(rnorm(100*20),100,20)
bk=rnorm(100)
glmnet1=glmnet(zk,bk)
# Creating example Repository so that we may see it on our computer
exampleRepoDir <- tempfile()
createLocalRepo( repoDir = exampleRepoDir, force = TRUE)
saveToLocalRepo( iris, repoDir=exampleRepoDir)
saveToLocalRepo( model, repoDir=exampleRepoDir )
saveToLocalRepo( agn1, repoDir=exampleRepoDir )
saveToLocalRepo( fannyx, repoDir=exampleRepoDir )
saveToLocalRepo( lda1, repoDir=exampleRepoDir )
saveToLocalRepo( glmnet1, repoDir=exampleRepoDir )
ArtifactsAndData <- unique(showLocalRepo(repoDir = exampleRepoDir)[,1])
ArtifactsData <- unique(searchInLocalRepo(pattern = "relationWith", fixed = FALSE,
repoDir = exampleRepoDir))
Artifacts <- setdiff(ArtifactsAndData, ArtifactsData)
# Removing many artifacts with many = TRUE argument
rmFromLocalRepo(Artifacts, repoDir = exampleRepoDir, many = TRUE)
# We may notice, in two ways, that artifacts' data is still in "exampleRepoDir".
# Either we may look into gallery folder of "exampleRepoDir"
list.files(file.path(exampleRepoDir, "gallery"))
# or show how database.db file looks like.
showLocalRepo(repoDir = exampleRepoDir) # artifacts' data is there indeed!
# If we want to remove artifact's data now we simply call rmFromLocalRepo function
# with removeData = TRUE additional argument.
rmFromLocalRepo(Artifacts, repoDir = exampleRepoDir, removeData = TRUE, many = TRUE)
# We receive a warning as Artifacts are no longer in the repository.
# However, let's check what happened with Artifact's data.
showLocalRepo(repoDir = exampleRepoDir) # They were removed.
# Perhaps you may think that "exampleRepoDir" is empty as database indicates. However,
# if you look into gallery folder there will be some ".txt" or ".png" files.
list.files(file.path(exampleRepoDir, "gallery"))
# Those are probably, the so called, Miniatures. Let's try to remove them.
# In order to do it we call rmFromLocalRepo function with removeMiniature = TRUE argument.
rmFromLocalRepo(Artifacts, many = TRUE, repoDir = exampleRepoDir, removeMiniature = TRUE)
# Again we receive a warning as Artifacts are no longer in the repository but ...
list.files(file.path(exampleRepoDir, "gallery"))
# gallery folder is empty now! Artifact's miniature's were removed.
# Of course we may have done all these instructions by one simple function call.
# rmFromLocalRepo(Artifacts, many = TRUE, repoDir = exampleRepoDir,
# removeData = TRUE, removeMiniature = TRUE)
# Nevertheless, it may be instructive to see how it is done step by step.
# removing an example Repository
deleteLocalRepo(repoDir = exampleRepoDir, deleteRoot = TRUE)
rm( exampleRepoDir )
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.