小编Mic*_*lle的帖子

R glm标准误差估计与SAS PROC GENMOD的差异

我正在使用R中的glm将SAS PROC GENMOD示例转换为R. SAS代码是:

proc genmod data=data0 namelen=30;
model boxcoxy=boxcoxxy ~ AGEGRP4 + AGEGRP5 + AGEGRP6 + AGEGRP7 + AGEGRP8 + RACE1 + RACE3 + WEEKEND + 
SEQ/dist=normal;
FREQ REPLICATE_VAR;  
run;
Run Code Online (Sandbox Code Playgroud)

我的R代码是:

parmsg2 <- glm(boxcoxxy ~ AGEGRP4 + AGEGRP5 + AGEGRP6 + AGEGRP7 + AGEGRP8 + RACE1 + RACE3 + WEEKEND + 
SEQ , data=data0, family=gaussian, weights = REPLICATE_VAR)
Run Code Online (Sandbox Code Playgroud)

当我使用时,summary(parmsg2)我获得与SAS相同的系数估计值,但我的标准误差却大不相同.

SAS的摘要输出是:

Name         df   Estimate      StdErr    LowerWaldCL  UpperWaldCL      ChiSq   ProbChiSq
Intercept    1   6.5007436    .00078884      6.4991975    6.5022897    67911982 0
agegrp4 …
Run Code Online (Sandbox Code Playgroud)

r sas glm

10
推荐指数
2
解决办法
2976
查看次数

在R中叠加10个密度图,其颜色与重叠图的数量成比例

我有一个包含224900个观测值和10个变量的数据集,它们是不同泰勒级数回归到原始数据值的结果.我希望覆盖这10个变量中每个变量的密度图,以显示泰勒级数反向变换对数据估计的鲁棒性水平.我不认为只有10行,而是应用颜色会很好,因此每个密度图都会产生10%的灰度.如果有数据只与其中一个图相关,那么将有10%灰色,两个图表将是20%的两倍深度,直到所有密度图重叠的位置,这将是100%.

我曾经习惯melt得到一个2249000行的数据帧.有三列,第一列是人物ID,第二列是分组变量(variable),第三列是每日kJ摄入量(value).

我使用以下代码覆盖密度图,ggplot2但它为组使用不同的颜色.如何更改此代码以获得灰度?我希望所有10组具有相同的颜色和颜色密度; 该图的目的仅仅是使用灰度在视觉上显示密度图上的重叠量.

ggplot(Energy, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)
Run Code Online (Sandbox Code Playgroud)

一些测试数据可供那些希望提供帮助的人使用5组而不是10组:

variable <- c(rep("A",100), rep("B",100), rep("C",100), rep("D",100), rep("E",100))
value <- c(rnorm(100,5000,200), rnorm(100,5050,210), rnorm(100,5100,215), 
           rnorm(100,5150,220), rnorm(100,5200,225))
MyData <- cbind.data.frame(value, variable)
ggplot(MyData, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)
Run Code Online (Sandbox Code Playgroud)

我认为答案可能与修改scale_colour_grey和/或相关,scale_manual但我不明白自己能够解决这个问题.

color-scheme r ggplot2 kernel-density

7
推荐指数
1
解决办法
3235
查看次数

如何通过观察提取lmer固定效果?

我有一个lme对象,由一些重复测量营养素摄入量数据构建(每个RespondentID两个24小时摄入量):

Male.lme2 <- lmer(BoxCoxXY ~ -1 + AgeFactor + IntakeDay + (1|RespondentID),
    data = Male.Data, 
    weights = SampleWeight)
Run Code Online (Sandbox Code Playgroud)

我可以通过RespondentID使用成功检索随机效果ranef(Male.lme1).我还想收集固定效果的结果RespondentID.coef(Male.lme1)我没有提供我需要的内容,如下所示.

> summary(Male.lme1)
Linear mixed model fit by REML 
Formula: BoxCoxXY ~ AgeFactor + IntakeDay + (1 | RespondentID) 
   Data: Male.Data 
  AIC   BIC logLik deviance REMLdev
  9994 10039  -4990     9952    9980
Random effects:
 Groups       Name        Variance Std.Dev.
 RespondentID (Intercept) 0.19408  0.44055 
 Residual                 0.37491  0.61230 
Number of obs: 4498, groups: RespondentID, 2249

Fixed effects:
                    Estimate …
Run Code Online (Sandbox Code Playgroud)

r glm

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

在绘制来自partykit的ctree输出时,如何抖动节点拆分字符串?

我有一个问题,我在分类树中主要使用分类数据,设置为一类因子.我正在使用partykitR中的软件包,而不像party之前的答案那样建议前一个软件包更适合处理图形输出.

我的真实数据集中没有很多节点(大约7个),但是我对一些变量有很多因子水平,我遇到的问题是分裂左侧的因子水平和右侧的因子水平是相互干扰.具体而言,这是因为因子水平列表的水平方向与因子水平的长度相结合.

我可以使用MASS包中的Aids2数据集重现该问题.这是一个无意义的示例,但它会生成我想要解决的行为

library("partykit")
SexTest <- ctree(sex ~ ., data=Aids2)
plot(SexTest)
Run Code Online (Sandbox Code Playgroud)

如果查看节点1的节点拆分信息,您将看到我描述的行为:

在我的真实数据框架中,缩小字体仅在我将其降低到4点时才有效,这是不可读的.

有没有办法为该字符串定义文本框,并启用文本换行?我已经查看pargpar尝试找到解决方案,但一直没有成功.另一种适合的选择是错开每个节点的因子信息的垂直位置,使它们一个位于另一个之下.

graphics plot r par

6
推荐指数
1
解决办法
773
查看次数

从排序数据框中将最近的值绘制到未排序的数据框中

我有两个数据帧R.第一个数据帧是cumFreqDist具有相关周期的累积频率分布().数据框的第一行如下所示:

Time        cumfreq
0         0.0000000
4         0.9009009
6         1.8018018
8         7.5075075
12       23.4234234
16       39.6396396
18       53.4534535
20       58.2582583
24       75.3753754
100     100.0000000
Run Code Online (Sandbox Code Playgroud)

第二个数据框是来自runif分布的10000个绘图,使用以下代码:

 testData <- (runif(10000))*100
Run Code Online (Sandbox Code Playgroud)

对于每一行testData,我想找到相应的cumfreqin cumFreqDist并将相应的Time值添加到一个新列中testData.因为testData是一个真实数据框的测试数据框,我不想排序testData.

因为我处理的累积频率,如果该testData23.30...Time应返回的值8.也就是说,我需要找到cumfreq不超过该testData值的最近值,并仅返回该值.

data.table软件包已被提及用于其他类似问题,但我的有限理解是该软件包需要在两个数据框中识别密钥(在转换为数据表之后)并且我不能假设这些testData值满足分配的要求作为一个键 - 似乎分配一个键将对数据进行排序.当我在我正在做的进一步工作中设置种子时,这将导致我的问题.

r matching cumulative-frequency

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