这几乎肯定是一个新问题/
对于下面的数据集,我一直试图在ggplot2中绘制logit和probit曲线,但没有成功.
Ft Temp TD
1 66 0
6 72 0
11 70 1
16 75 0
21 75 1
2 70 1
7 73 0
12 78 0
17 70 0
22 76 0
3 69 0
8 70 0
13 67 0
18 81 0
23 58 1
4 68 0
9 57 1
14 53 1
19 76 0
5 67 0
10 63 1
15 67 0
20 79 0
Run Code Online (Sandbox Code Playgroud)
我天真地使用的代码是
library(ggplot2)
TD<-mydata$TD
Temp<-mydata$Temp
g<- qplot(Temp,TD)+geom_point()+stat_smooth(method="glm",family="binomial",formula=y~x,col="red") …Run Code Online (Sandbox Code Playgroud) 如何计算向量的平方偏差(从平均值)的总和?
我尝试使用该命令
总和(X-平均值(X))^ 2
但不幸的是,这返回的是-1.998401e-15,这是不对的.是否有一个微妙的操作符,如括号,我可能在这里失踪?
谢谢.
我一直在尝试使用惩罚样条线和线性混合模型之间的连接来拟合R中的惩罚样条回归模型.虽然我对R功能非常熟悉,但lme使用它的竞争对手会lmer遇到一些困难.这是一个玩具示例,我想概括为lmer:
require(nlme)
grid <- seq(0, 1, len = 100)
y <- rep(0, length(grid))
for(i in 1:length(grid)){
y[i] <- sin(3*pi*grid[i]) + rnorm(1, 0, 1)
}
X <- cbind(rep(1, length(grid)), grid, grid^2, grid^3)
knots <- seq(0.01, 0.99, len = 100)
Z <- outer(grid, knots, "-")
Z <- Z*(Z>0)
Z <- Z^3
data.mixed <- data.frame(X, Z)
data.mixed$all <- rep(1 ,nrow(data.mixed))
fit.mixed <- lme(y~ X-1, random = list( all = pdIdent(~Z-1) ), data = data.mixed )
curve(sin(3*pi*x), 0, …Run Code Online (Sandbox Code Playgroud) 我编写了这个函数,它根据Newton-Raphson算法以数字方式计算Cauchy分布中的MLE:
mlec <- function(x,theta0=median(x),numstp=100,eps=0.01){
numfin <- numstp
ic <- 0
istop <- 0
while(istop==0){
ic <- ic+1
ltheta <- -2*sum((x-theta0)/(1+(x-theta0)^2))
lprimetheta <- -2*(sum(2*(x-theta0)^2/
(1+(x-theta0)^2)^2-1/(1+(x-theta0)^2)^2))
theta1 <- theta0-(ltheta/lprimetheta)
check <- abs((theta1-theta0)/theta1)
if(check < eps ) { istop <- 1 }
theta0 <- theta1
}
list(theta1=theta1,check=check,realnumstps=ic)
}
Run Code Online (Sandbox Code Playgroud)
然后,目标是从具有比例参数2的Cauchy分布生成观测值,并查看MLE如何执行.问题在于,对于某些样本,MLE对其他人运行得非常好,我得到了奇怪的错误
Error in if (check < eps) { : missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?我已经定义了什么"检查"是不应该发生的.
谢谢.
我有这个数据集,我想让9个输入变量的所有箱图都显示在同一个图上,尽管它们有不同的比例.你能否告诉我是否有一个简单的方法来实现这一目标?
我是新手SAS用户,所以我很感激一些建议.谢谢.
data raw;
input ID$ Family DistRd Cotton Maize Sorg Millet Bull Cattle Goats;
datalines;
FARM1 12 80 1.5 1 3 0.25 2 0 1
FARM2 54 8 6 4 0 1 6 32 5
FARM3 11 13 0.5 1 0 0 0 0 0
FARM4 21 13 2 2.5 1 0 1 0 5
FARM5 61 30 3 5 0 0 4 21 0
FARM6 20 70 0 2 3 0 2 0 3
FARM7 29 35 1.5 …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在R中安装ggplot2包,这是我得到的警告:
read.dcf(file.path(pkgname,"DESCRIPTION"),c("Package","Type"))出错:无法打开连接
另外:警告信息:
1:在download.file(url,destfile,method,mode ="wb",...):已下载长度1040720!=报告长度1152839
2:解压缩(zipname,exdir = dest):从zip文件中提取错误1
3:在read.dcf(file.path(pkgname,"DESCRIPTION"),c("Package","Type")):无法打开压缩文件'plyr/DESCRIPTION',可能的原因'没有这样的文件或目录'
注意我使用的是3.1.1版可能会有所帮助.你能帮我理解出了什么问题以及如何解决这个问题吗?
先感谢您.
我有一个三因素的连续性表,探讨犯罪行为,入店行窃或其他盗窃行为,性别和先前的定罪以及另一方面的宽松判决之间的关联.Lenient senteces是这里的响应变量,是二进制的,1表示接收宽松句子,否则为0.
Crime Gender Priorconv Yes No
1 Shoplifting Men N 24 1
2 Other Theft Acts Men N 52 9
3 Shoplifting Women N 48 3
4 Other Theft Acts Women N 22 2
5 Shoplifting Men P 17 6
6 Other Theft Acts Men P 60 34
7 Shoplifting Women P 15 6
8 Other Theft Acts Women P 4 3
Run Code Online (Sandbox Code Playgroud)
您可以使用这些命令重新创建表
table1<-expand.grid(Crime=factor(c("Shoplifting","Other Theft Acts")),Gender=factor(c("Men","Women")),
Priorconv=factor(c("N","P")))
table1<-data.frame(table1,Yes=c(24,52,48,22,17,60,15,4),No=c(1,9,3,2,6,34,6,3))
Run Code Online (Sandbox Code Playgroud)
我一直试图运行逻辑回归,但当我试图在我的变量之间包含交互时很快遇到了麻烦.glm在没有相互作用的情况下完美运行.我一直在使用的代码是
fit<-glm(cbind(Yes,No)~Crime+Gender+Priorconv+I(Crime*Priorconv),data=table1,family=binomial)
Run Code Online (Sandbox Code Playgroud)
和我一直在犯的错误
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) …Run Code Online (Sandbox Code Playgroud) Kolmogorov-Smirnov统计量定义为经验值与假设的累积分布函数之间的最大距离。我认为与其查看数字,不如使用图形来定位最大差异。
我知道如何绘制经验分布函数
p1 <-qplot(rnorm(30),stat =“ ecdf”,geom =“ step”)
但是能否请您告诉我如何在同一图中添加理论分布的累积分布函数?就我而言,理论分布是标准正态分布,但我对每个分布函数的推广都感兴趣。
谢谢。
我一直在尝试生成有序变量对与第三个变量的所有组合,即将下面的每对变量(z1,z2)与所有z3组合在一起。
theta <- seq(0, 2*pi, length = 5)
z1 <- cos(theta) ;z2 <- sin(theta)
z3 <- seq(-3, 3, length = 5)
Run Code Online (Sandbox Code Playgroud)
我通常会使用该expand.grid函数,但此处不合适,因为它将生成破坏顺序的三个变量的组合。我想知道,R中是否有一个函数可以做到这一点?非常感谢所有帮助,谢谢。
考虑下面的物流密度:

Latex:$$ f\left(x;\theta\right)\ frac {\ exp\left\{ - \left(x_i-\theta\right)\ right \}} {\ left(1+\exp\left)\{ - \left(x_i-\theta\right)\ right \}\right)^ 2} $$
相应的对数似然由下式给出:

Latex:$$ l\left(\ theta\right)= n\theta -n\bar {x} -2\sum_ {i = 1} ^ {n} log\left(1+\exp\left\{ -\left(x_i - \theta\right)\ right \}\right)$$
不幸的是,$\theta $的均值,它的均值,不能以封闭形式获得,因此我必须编写一个数值优化算法.我认为使用Newton的方法寻找$ l\prime\left(\ theta\right)= 0 $的点是个好主意
现在,如果我们要使用牛顿方法,我们将需要对数似然的一阶和二阶导数,它们由下式给出:

Latex:$$ l\prime\left(\ theta\right)= n-2\sum_ {i = 1} ^ n\frac {\ exp\left\{ - \left(x_i-\theta\right)\ right \}} {\ left(1+\exp\left\{ - \left(x_i-\theta\right)\ right \}\right)} $$
和

Latex:$$ l\prime\prime\left(\ theta\right)= -2\sum_ {i = 1} ^ n\frac {\ exp\left\{ - \left(x_i-\theta\right)\ …