小编Cap*_*phy的帖子

在R中,使用qqmath或dotplot绘制来自lmer(lme4包)的随机效果:如何使它看起来很花哨?

qqmath函数使用lmer软件包的输出产生很好的随机效应图.也就是说,qqmath非常适合绘制层次模型中的截距及其在点估计周围的误差.下面使用名为Dyestuff的lme4包中的内置数据,给出了lmer和qqmath函数的一个示例.代码将使用ggmath函数生成分层模型和一个漂亮的图.

library("lme4")
data(package = "lme4")

# Dyestuff 
# a balanced one-way classiï¬cation of Yield 
# from samples produced from six Batches

summary(Dyestuff)             

# Batch is an example of a random effect
# Fit 1-way random effects linear model
fit1 <- lmer(Yield ~ 1 + (1|Batch), Dyestuff) 
summary(fit1)
coef(fit1) #intercept for each level in Batch 

# qqplot of the random effects with their variances
qqmath(ranef(fit1, postVar = TRUE), strip = FALSE)$Batch
Run Code Online (Sandbox Code Playgroud)

最后一行代码产生了每个截距的非常好的图,每个估计周围都有误差.但格式化qqmath函数似乎非常困难,而且我一直在努力格式化情节.我想出了一些我无法回答的问题,我认为如果他们使用lmer/qqmath组合,其他人也可以从中受益:

  1. 有没有办法采取上面的qqmath函数并添加一些选项,例如,使某些点为空而不是填充,或不同点的不同颜色?例如,您是否可以填充Batch变量的A,B和C的点数,但其余的点是否为空?
  2. 是否可以为每个点添加轴标签(例如,可能沿顶部或右侧y轴)?
  3. 我的数据接近45个截距,因此可以在标签之间添加间距,这样它们就不会相互碰撞?主要是,我感兴趣的是在图表上的点之间进行区分/标记,这在ggmath函数中似乎很麻烦/不可能.

到目前为止,在qqmath函数中添加任何附加选项会产生错误,如果它是标准图,我不会得到错误,所以我很茫然.

另外,如果你觉得有一个更好的包装/功能来绘制来自lmer输出的拦截,我很乐意听到它!(例如,你能用dotplot做点1-3吗?)

谢谢.

编辑:如果可以合理格式化,我也可以使用替代的dotplot.我只是喜欢ggmath情节的外观,所以我开始提出一个问题.

r ggplot2 lme4 random-effects

35
推荐指数
3
解决办法
3万
查看次数

可以使用哪些R包或代码来构建定制的GUI?

我希望创建GUI,从用户接收一些输入(例如性别,年龄和种族作为可点击类别),然后为每个输入分配用户ID(将在GUI中显示为输出).在幕后将是GUI使用此用户输入创建的数据集(在此示例中,它将是4个变量:用户ID,性别,年龄和种族).

有没有人之前创建过这样的GUI?任何R包或代码推荐?

谢谢!

user-interface r

18
推荐指数
2
解决办法
3113
查看次数

R中的显着性检验,确定一列中的比例是否与单一变量中的另一列显着不同

我确信在R中这是一个简单的命令,但由于某种原因,我很难找到解决方案.

我正在尝试在R中运行一堆交叉表(使用table()命令),每个选项卡有两列(处理和不处理).我想知道列之间的差异是否对于所有行而言彼此显着不同(行是调查中的一些答案选择).我对整体意义不感兴趣,只是在交叉表比较治疗与不治疗之间.

这种类型的分析在SPSS中很容易(下面链接说明我在说什么),但我似乎无法让它在R中工作.你知道我能做到吗?

http://help.vovici.net/robohelp/robohelp/server/general/projects_fhpro/survey_workbench_MX/Significance_testing.htm

编辑:以下是关于我的意思的R的一个例子:

 treatmentVar <-c(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1) # treatment is 1 or 0
 question1 <-c(1,2,2,3,1,1,2,2,3,1,1,2,2,3,1,3) #choices available are 1, 2, or 3
 Questiontab <- table(question1, treatmentVar)
 Questiontab
Run Code Online (Sandbox Code Playgroud)

我有像这样的表^(由treatmentVar上的列百分比),我想看看从治疗0到治疗1的每个问题选择(行)之间是否存在显着差异.所以在上面的例子中,我会想知道4和2(第1行),第3和第3行(第2行)以及第1和第3行(第3行)之间是否存在显着差异.所以在这个例子中,question1的选择对于选择1和3可能是显着不同的(因为差异是2)但是选择2的差异不是因为差异是零.最终,我试图确定这种重要性.我希望有所帮助.

谢谢!

r significance crosstab

7
推荐指数
2
解决办法
2848
查看次数

添加置信区间以从 R 中的模拟数据绘制

我创建了一个基于似然函数和模拟的概率模拟,所有这些都可以用下面的代码复制。

这是似然函数:

probit.ll <- function(par,ytilde,x) {
   a <- par[1] 
   b <- par[2]
 return(  -sum( pnorm(ytilde*(a + b*x),log=TRUE) ))
}
Run Code Online (Sandbox Code Playgroud)

这是进行估计的函数:

my.probit <- function(y,x) {
# use OLS to get start values
par <- lm(y~x)$coefficients
ytilde <- 2*y-1
# Run optim 
res <- optim(par,probit.ll,hessian=TRUE,ytilde=ytilde,x=x)
# Return point estimates and SE based on the inverse of Hessian
names(res$par) <- c('a','b')
se=sqrt(diag(solve(res$hessian)))
names(se) <- c('a','b')
return(list(par=res$par,se=se,cov=solve(res$hessian)))
}
Run Code Online (Sandbox Code Playgroud)

这是生成模拟模型的函数:

probit.data <- function(N=100,a=1,b=1) {
x <- rnorm(N)
y.star <- a + b*x + rnorm(N)
y …
Run Code Online (Sandbox Code Playgroud)

r confidence-interval statistics-bootstrap

5
推荐指数
1
解决办法
3173
查看次数

在R中的图中翻转X和Y值(数据也改变轴)

如何在R中绘制图,以便变量的值沿X轴显示,变量名沿Y轴垂直移动?最终,绘图应该看起来垂直,Y轴上的变量名称和X轴上的值.

下面的代码表面上会这样做,但问题是实际的绘图值不会随轴翻转.意思是,该图仍然构造为名称沿着X轴并且值沿着Y轴.

以下变量:

value =数字的列向量

name =与每个数字对应的名称列

plot(value, axes=F, xlab="", ylab= "", type= "b", xlim=c(-5, 50), ylim=c(0, 8))
axis(1)
axis(2, at = 1:length(name), labels = name, las=1, pos=-3.0,cex.axis=.65 )
Run Code Online (Sandbox Code Playgroud)

谢谢!

plot r

3
推荐指数
2
解决办法
4万
查看次数

从R中的矩阵绘制列

我已经创建了一个存储在20x7矩阵中的模拟值矩阵(对7列数字进行了20次观察;矩阵称为输出).列从模拟输出.

运行模拟后,我包含了列名:

colnames(output) <- c('level', 'value1','value2','value3',
                         'value4','value5','value6')
Run Code Online (Sandbox Code Playgroud)

矩阵看起来很干净.观察时:

output  
Run Code Online (Sandbox Code Playgroud)

有没有办法从矩阵中绘制这些列?我已经尝试了下面的代码(以及其他变体),但它不起作用.

 plot(level$output, value1$output)
Run Code Online (Sandbox Code Playgroud)

谢谢!

simulation plot r matrix

1
推荐指数
1
解决办法
3万
查看次数