Nothing
## tests on apply C wrappers
library(proxy)
set.seed(20070630)
## matrix
f <- function(x, y) sum(x*y) / sqrt(sum(x*x)) / sqrt(sum(y*y))
x <- matrix(runif(20), 5, 4)
x
y <- matrix(runif(20), 5, 4)
y
.External(proxy:::R_apply_dist_matrix, x, NULL, FALSE, f)
.External(proxy:::R_apply_dist_matrix, x, x, FALSE, f)
.External(proxy:::R_apply_dist_matrix, x, y, FALSE, f)
.External(proxy:::R_apply_dist_matrix, x, y, TRUE, f)
# coerce
z <- y * 100
storage.mode(z) <- "integer"
.External(proxy:::R_apply_dist_matrix, x, z, FALSE, f)
.External(proxy:::R_apply_dist_matrix, z, x, FALSE, f)
.External(proxy:::R_apply_dist_matrix, z, z, FALSE, f)
.External(proxy:::R_apply_dist_matrix, z, NULL, FALSE, f)
## list
x <- unlist(apply(x, 1, list), recursive = FALSE)
x
y <- unlist(apply(y, 1, list), recursive = FALSE)
.External(proxy:::R_apply_dist_list, x, NULL, FALSE, f)
.External(proxy:::R_apply_dist_list, x, x, FALSE, f)
.External(proxy:::R_apply_dist_list, x, y, FALSE, f)
.External(proxy:::R_apply_dist_list, x, y, TRUE, f)
## logical matrix
f <- function(a, b, c, d, n)
a / sqrt(a+b) / sqrt(a+c)
x <- t(sapply(x, ">", 0.5))
x
y <- t(sapply(y, ">", 0.5))
.External(proxy:::R_apply_dist_binary_matrix, x, NULL, FALSE, f)
.External(proxy:::R_apply_dist_binary_matrix, x, x, FALSE, f)
.External(proxy:::R_apply_dist_binary_matrix, x, y, FALSE, f)
.External(proxy:::R_apply_dist_binary_matrix, x, y, TRUE, f)
## data.frame
f <- function(x, y) sum(x*y) / sqrt(sum(x*x)) / sqrt(sum(y*y))
x <- data.frame(unlist(apply(x, 2, list), recursive = FALSE))
names(x) <- letters[1:4]
x
y <- data.frame(unlist(apply(y, 2, list), recursive = FALSE))
names(y) <- letters[1:4]
.External(proxy:::R_apply_dist_data_frame, x, NULL, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, x, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, y, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, y, TRUE, f)
#
f <- function(x, y) {
if (rownames(x) == 1 && rownames(y) == 1) {
print(x)
str(x)
print(y)
}
sum(x == y) / length(x)
}
x <- data.frame(1:5, LETTERS[1:5], stringsAsFactors = FALSE)
x
y <- data.frame(1:6, LETTERS[c(1,1:5)],
row.names = letters[1:6],
stringsAsFactors = FALSE)
y
all.equal(x, y)
identical(attributes(x[[1]]), attributes(y[[1]]))
identical(attributes(x[[2]]), attributes(y[[2]]))
.External(proxy:::R_apply_dist_data_frame, x, NULL, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, x, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, y, FALSE, f)
.External(proxy:::R_apply_dist_data_frame, x, y[-6,], TRUE, f)
# test parameters
f <- function(x, y, p = 1)
sum(x == y) / length(x) * p
.External(proxy:::R_apply_dist_data_frame, x, y[-6,], TRUE, f)
.External(proxy:::R_apply_dist_data_frame, x, y[-6,], TRUE, f, p = 2)
###
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.