[R] Two packages ane one method
Grzes
gregorio99 at gmail.com
Sun Sep 6 19:10:45 CEST 2009
Hi!
I want to use one method "combinations" from "gtools" package but in my code
I must use also "dprep" method where is method "combinations" too. Mayby I
show you result of help function:
Help on topic 'combinations' was found in the following packages:
Package Library
dprep /usr/lib64/R/library
gtools /usr/lib64/R/library
Choose one
1: Constructing distinct permutations {dprep}
2: Enumerate the Combinations or Permutations of the Elements of a Vector
{gtools}
If I want to use "combination" method I use error:
> combinations(3,2,letters[1:3])
Error in combinations(3, 2, letters[1:3]) :
unused argument(s) (2, letters[1:3])
Do you have any idea?
I try code similar to C++ gtools::combinations but in my opinion it's
wrong way.
If my explanation is't clear to you let me show my all attempts:
> library(gtools)
> combinations(3,2,letters[1:3])
[,1] [,2]
[1,] "a" "b"
[2,] "a" "c"
[3,] "b" "c"
> library(dprep)
Loading required package: MASS
Loading required package: nnet
Loading required package: lattice
Loading required package: class
Attaching package: 'dprep'
The following object(s) are masked from package:gtools :
combinations
> combinations(3,2,letters[1:3])
Error in combinations(3, 2, letters[1:3]) :
unused argument(s) (2, letters[1:3])
> gtools::combinations
function (n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
{
if (mode(n) != "numeric" || length(n) != 1 || n < 1 || (n%%1) !=
0)
stop("bad value of n")
if (mode(r) != "numeric" || length(r) != 1 || r < 1 || (r%%1) !=
0)
stop("bad value of r")
if (!is.atomic(v) || length(v) < n)
stop("v is either non-atomic or too short")
if ((r > n) & repeats.allowed == FALSE)
stop("r > n and repeats.allowed=FALSE")
if (set) {
v <- unique(sort(v))
if (length(v) < n)
stop("too few different elements")
}
v0 <- vector(mode(v), 0)
if (repeats.allowed)
sub <- function(n, r, v) {
if (r == 0)
v0
else if (r == 1)
matrix(v, n, 1)
else if (n == 1)
matrix(v, 1, r)
else rbind(cbind(v[1], Recall(n, r - 1, v)), Recall(n -
1, r, v[-1]))
}
else sub <- function(n, r, v) {
if (r == 0)
v0
else if (r == 1)
matrix(v, n, 1)
else if (r == n)
matrix(v, 1, n)
else rbind(cbind(v[1], Recall(n - 1, r - 1, v[-1])),
Recall(n - 1, r, v[-1]))
}
sub(n, r, v[1:n])
}
<environment: namespace:gtools>
> combinations(3,2,letters[1:3]) ### what I should do to
> start working "combinations"?
Error in combinations(3, 2, letters[1:3]) :
unused argument(s) (2, letters[1:3])
--
View this message in context: http://www.nabble.com/Two-packages-ane-one-method-tp25319739p25319739.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list