なぜ廃止されたのかな?ストイックな理由なんだろうか。
現在の sd は
> sd
function (x, na.rm = FALSE)
{
if (is.matrix(x)) {
msg <- "sd(<matrix>) is deprecated.\n Use apply(*, 2, sd) instead."
warning(paste(msg, collapse = ""), call. = FALSE, domain = NA)
apply(x, 2, sd, na.rm = na.rm)
}
else if (is.vector(x))
sqrt(var(x, na.rm = na.rm))
else if (is.data.frame(x)) {
msg <- "sd(<data.frame>) is deprecated.\n Use sapply(*, sd) instead."
warning(paste(msg, collapse = ""), call. = FALSE, domain = NA)
sapply(x, sd, na.rm = na.rm)
}
else sqrt(var(as.vector(x), na.rm = na.rm))
}
<bytecode: 0x1083677b8>
<environment: namespace:stats>
なんだから,warning だけを除いて,従来通りにすればよいのではないか?
sd
function (x, na.rm = FALSE)
{
if (is.matrix(x))
apply(x, 2, sd, na.rm = na.rm)
else if (is.vector(x))
sqrt(var(x, na.rm = na.rm))
else if (is.data.frame(x))
sapply(x, sd, na.rm = na.rm)
else sqrt(var(as.vector(x), na.rm = na.rm))
}
とするだけで,どこがわるいのだろうか???