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.
lookup
PackageThe following example shows one use-case. Using Anderson’s
iris
data, we calculate the regression of
Petal.Length
on Sepal.Length
for each
Species
and then merge this slope coefficient back into the
original data.
coefs <- lapply(split(iris, iris$Species),
function(dat) lm(Petal.Length~Sepal.Length, dat)$coef)
coefs <- do.call("rbind",coefs)
coefs <- as.data.frame(coefs)
coefs$Species <- rownames(coefs)
coefs
## (Intercept) Sepal.Length Species
## setosa 0.8030518 0.1316317 setosa
## versicolor 0.1851155 0.6864698 versicolor
## virginica 0.6104680 0.7500808 virginica
library(lookup)
iris = transform(iris,
slope1 = lookup(iris$Species, coefs$Species, coefs[,"Sepal.Length"]),
slope2 = vlookup(iris$Species, coefs, "Species", "Sepal.Length"))
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species slope1 slope2
## 1 5.1 3.5 1.4 0.2 setosa 0.1316317 0.1316317
## 2 4.9 3.0 1.4 0.2 setosa 0.1316317 0.1316317
## 3 4.7 3.2 1.3 0.2 setosa 0.1316317 0.1316317
## 4 4.6 3.1 1.5 0.2 setosa 0.1316317 0.1316317
## 5 5.0 3.6 1.4 0.2 setosa 0.1316317 0.1316317
## 6 5.4 3.9 1.7 0.4 setosa 0.1316317 0.1316317
Admittedly, a better way to approach this problem would be with the
dplyr
package and the group_by
and
summarize
functions. But, this example does not depend on
external packages.
I wrote the lookup()
function for my own personal in
2004 for the simple reason that I could never remember the syntax of the
merge()
function. When Jenny Bryan posted
vlookup()
on Twitter,
I modified her version and decided there would be value in making both
of these functions widely available in a package.
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.