我在同一台PC上安装了SAS(9.3)和R(2.14.0),我想使用submit / R;和在SAS中提交R语句endsubmit;.
然而:
SAS option RLANG is valid only at startup of the SAS System. The SAS option is
ignored.
Run Code Online (Sandbox Code Playgroud)
你能解释一下如何绕过这个障碍吗?
我编写了一个函数来计算Kullback-Leibler从N(mu2,sigma2)到N(0,1)的偏差.
mu1 <- 0
sigma1 <- 1
f <- function(mu2, sigma2)
{
g <- function(x)
{
(dnorm(x, mean=mu1, sd=sigma1, log=TRUE) -
dnorm(x, mean=mu2, sd=sigma2, log=TRUE)) *
dnorm(x, mean=mu1, sd=sigma1)
}
return(integrate(g, -Inf, Inf)$value)
}
Run Code Online (Sandbox Code Playgroud)
例如,从N(5,1)到N(0,1)的KL偏差是
> f(5, 1)
[1] 12.5
Run Code Online (Sandbox Code Playgroud)
我确信这个结果是正确的,因为我在手边计算了一个闭合形式的表达式,它给出了从N(mu2,sigma2)到N(mu1,sigma1)的KL偏差.
我的问题是关于flexmix包中的KLdiv函数.为什么它不会产生相同的结果?它实际计算的是什么?
> library(flexmix)
> x <- seq(-4, 12, length=200)
> y <- cbind(norm1=dnorm(x, mean=0, sd=1), norm2=dnorm(x, mean=5, sd=1))
> KLdiv(cbind(y))
norm1 norm2
norm1 0.000000 7.438505
norm2 7.438375 0.000000
Run Code Online (Sandbox Code Playgroud)
而不是使用KLdiv,您如何看待以下过程:
> x <- rnorm(1000)
> dist <- mean(dnorm(x, …Run Code Online (Sandbox Code Playgroud) 我想评估一些功能的更高阶导数˚F在ř.我有两种可能性.
1比2的优点是什么?让我们说f (k)不是递归公式.如果f (k)是递归的怎么办?
任何提示将不胜感激.
这是从R获得的图片(代码如下).
我想以pdf格式导出它.
但是,我想首先删除右侧的图例栏.
据我所知,没有可选参数来控制这个条形图例.
你会怎么做?

library(gplots)
f <- function(x, y, theta)
{
num <- (x^(-theta) + y^(-theta) - 1)^(-1 / theta)
denom <- x * y
return(num / denom)
}
x <- y <- seq(0.01, 0.18, 0.01)
z <- outer(x, y, FUN=f, theta=2/3)
levels=seq(0, 36, 3)
draw.contour <- function()
{
contour(x=x, y=y, z=z, add=TRUE,
levels=levels,
drawlabels=TRUE,
labcex=0,
xlim=rev(range(x)),
ylim=rev(range(y)))
}
par(mgp=c(2, 0.5, 0))
filled.contour(x=x, y=y, z=z,
levels=levels,
col=colorpanel(length(levels) + 1, "white", "grey10"),
xlim=rev(range(x)),
ylim=rev(range(y)),
plot.axes={axis(1, c(0.18, 0.01), …Run Code Online (Sandbox Code Playgroud) 下面,我将R函数的结果与我自己的代码进行比较.该算法简单地包括最大化许多参数的函数(这里,19).我的代码定义了函数和nlm优化用途.幸运的是,两者都返回相同的结果.但是,R功能非常快.因此,我怀疑我可以比使用nlm(或R中的类似优化例程)做得更好.任何的想法?
以下是一些可以使用Cox模型的生存数据.为此,需要最大化部分对数似然(维基百科链接中的第3个等式).
在R,这可以用coxph()(部分survival包)完成:
> library(survival)
> fmla <- as.formula(paste("Surv(time, event) ~ ",
+ paste(names(data)[-(1:3)], collapse=" +")))
> mod <- coxph(formula=fmla, data=data)
> round(mod$coef, 3)
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15
-0.246 -0.760 0.089 -0.033 -0.138 -0.051 -0.484 -0.537 -0.620 -0.446 -0.204 -0.112 -0.089 -0.451 0.043
x16 x17 x18 x19
0.106 -0.015 -0.245 -0.653
Run Code Online (Sandbox Code Playgroud)
这可以通过显式写入部分对数似然并使用一些数值优化例程来检查.这是一些粗略的代码来完成这项工作.
代码已根据我收到的评论进行了编辑
> #------ minus …Run Code Online (Sandbox Code Playgroud)