Questions tagged «r»

对于(a)涉及“ R”作为问题的关键部分或预期答案的任何* on-topic *问题,请使用此标签;&(b)关于如何使用“ R”并非“正当”。

4
从Yahoo Finance将股票价格导入R吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想将Yahoo财务中的“最后交易”股票价格导入R。其目的是使用(几乎)实时数据。有什么解决办法吗? 在此先感谢您提供任何有用的评论。
26 r 

3
如何理解R的polr函数的输出(有序逻辑回归)?
我是R的新手,有序逻辑回归,和polr。 polr帮助页面底部的“示例”部分(使逻辑或概率回归模型适合有序因子响应)显示 options(contrasts = c("contr.treatment", "contr.poly")) house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing) pr <- profile(house.plr) plot(pr) pairs(pr) pr包含哪些信息?配置文件上的帮助页面是通用的,不提供有关polr的指导。 什么是plot(pr)展示?我看到六个图。每个标签都有一个X轴,尽管标签是一个指示符变量(看起来像一个输入变量,它是一个序数值的指示符)。那么Y轴是“ tau”,这是无法解释的。 什么是pairs(pr)展示?它看起来像是每对输入变量的图,但是我再也看不到X或Y轴的解释。 如何理解该模型是否合适? summary(house.plr)显示残差3479.149和AIC(Akaike信息准则?)3495.149。这样好吗 在那些仅用作相对度量(即与另一个模型拟合进行比较)的情况下,什么是好的绝对度量?剩余偏差是否近似卡方分布?能否对原始数据使用“正确预测的百分比”或进行一些交叉验证?最简单的方法是什么? 如何应用和解释anova这一模型?文档说:“有一些用于标准模型拟合功能的方法,包括预测,汇总,vcov,方差分析。” 但是,运行anova(house.plr)结果anova is not implemented for a single "polr" object 如何解释每个系数的t值?与某些模型拟合不同,此处没有P值。 我意识到这是一个很多问题,但是对我来说,作为一个整体问(“我如何使用此东西?”)而不是7个不同的问题是有意义的。任何信息表示赞赏。
26 r  logistic 

7
R中带有对比代码的III型SS ANOVA如何处理?
请提供R代码,该代码允许以-3,-1、1、3的对比度进行对象间ANOVA。我了解对于此类分析的适当平方和(SS)类型存在争议。但是,由于SAS和SPSS中使用的默认SS类型(III型)被认为是我所在地区的标准。因此,我希望此分析的结果与那些统计程序生成的结果完全匹配。要被接受,答案必须直接调用aov(),但其他答案可能会被投票(尤其是如果它们易于理解/使用)。 sample.data <- data.frame(IV=rep(1:4,each=20),DV=rep(c(-3,-3,1,3),each=20)+rnorm(80)) 编辑:请注意,我要求的对比度不是简单的线性或多项式对比度,而是通过理论预测得出的对比度,即Rosenthal和Rosnow讨论的对比度类型。

7
如何确定在R中的LOESS回归中使用什么跨度?
我正在R中运行LOESS回归模型,我想比较具有不同样本量的12个不​​同模型的输出。如果可以帮助回答问题,我可以更详细地描述实际模型。 以下是样本数量: Fastballs vs RHH 2008-09: 2002 Fastballs vs LHH 2008-09: 2209 Fastballs vs RHH 2010: 527 Fastballs vs LHH 2010: 449 Changeups vs RHH 2008-09: 365 Changeups vs LHH 2008-09: 824 Changeups vs RHH 2010: 201 Changeups vs LHH 2010: 330 Curveballs vs RHH 2008-09: 488 Curveballs vs LHH …
26 r  regression  loess 

1
如何在R中凭经验证明AIC和BIC等效于哪种交叉验证方法?
在该站点上其他地方的问题中,有几个答案提到AIC等同于留一法(LOO)交叉验证,而BIC等同于K倍交叉验证。有没有一种方法可以在R中以经验方式证明这一点,从而弄清楚LOO和K折中涉及的技术并证明它们与AIC和BIC值等效?注释良好的代码将在这方面有所帮助。另外,在演示BIC时,请使用lme4软件包。请参阅下面的示例数据集... library(lme4) #for the BIC function generate.data <- function(seed) { set.seed(seed) #Set a seed so the results are consistent (I hope) a <- rnorm(60) #predictor b <- rnorm(60) #predictor c <- rnorm(60) #predictor y <- rnorm(60)*3.5+a+b #the outcome is really a function of predictor a and b but not predictor …
26 r  aic  cross-validation  bic 


2
我是否在lmer中正确指定了我的模型?
我搜寻了很多帮助站点,但仍然对如何在混合模型中指定更复杂的嵌套术语感到困惑。我也困惑,使用:和/和|在指定的交互,并使用随机因素嵌套lmer()在lme4包中R。 出于这个问题的目的,我们假设我已使用以下标准统计模型准确地描绘了我的数据: 是固定的,并且是随机的。 (隐式)嵌套在中。ÿ我Ĵ ķ= 你+ 站一世+ 拖曳j (我)+ 天ķ+ (站× 天)我ķ+ (拖曳× 天)j (i )kÿ一世Ĵķ=ü+站一世+拖Ĵ(一世)+天ķ+(站×天)一世ķ+(拖×天)Ĵ(一世)ķ Y_{ijk} = u + \text{station}_i + \text{tow}_{j(i)} + \text{day}_k + (\text{station}\times \text{day})_{ik} + (\text{tow}\times\text{day})_{j(i)k} stationtowdayTowstation 换句话说,我希望我的模型包括Station(i,fixed),Tow(j,random,隐式嵌套在Station中),Day(k,random),以及Tow和Day之间的交互以及Day之间的交互和车站。我已经咨询了统计学家以创建我的模型,并且目前认为它可以代表我的数据,但同时也会在我的文章底部添加对我的数据的描述,以免造成混乱。 到目前为止,我能够拼凑的内容如下lmer: lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), data=my.data) 这是否准确地描绘了我的统计模型?如果无法正确阅读我的代码,有什么建议吗? 我已经加粗了我在lmer公式中难以指定的特定术语 #1 当拖曳是随机的且站是固定的时,在站内嵌套的拖曳 我很困惑,但是关于使用:和区分随机的嵌套和交互项/。在上面的示例中,我(1|station:tow)希望读取嵌套在站内的丝束。我在各个网站上都读到了相互矛盾的评论,无论我是应该使用:还是使用/随机(1|...)格式lmer。 …

2
在插入符号中,cv和repeated cv之间的真正区别是什么?
这与问题Caret重采样方法相似,尽管它实际上从未以商定的方式回答问题的这一部分。 插入符号的火车功能提供cv和repeatedcv。说的有什么区别: MyTrainControl=trainControl( method = "cv", number=5, repeats=5 ) 与 MyTrainControl=trainControl( method = "repeatedcv", number=5, repeats=5 ) 我知道cv将集合分解为k折(参数number),然后重新启动并运行参数repeats次数。 我能想到的唯一的事情是,也许经常cv与repeats使用相同的确切指标为每次折叠?基本上cv每次都在相同的精确折叠上运行,也许repeatedcv每次都选择新的折叠? 有人可以澄清吗?

5
在一系列抛硬币中击中正面和反面图案所花费的时间
受彼得·唐纳利(Peter Donnelly)在TED上的演讲的启发,他在演讲中讨论了某种图案出现在一系列抛硬币中需要多长时间,我在R中创建了以下脚本。给定两种图案“ hth”和“ htt”,计算在您击中其中一种模式之前平均需要花费多长时间(即,掷多少硬币)。 coin <- c('h','t') hit <- function(seq) { miss <- TRUE fail <- 3 trp <- sample(coin,3,replace=T) while (miss) { if (all(seq == trp)) { miss <- FALSE } else { trp <- c(trp[2],trp[3],sample(coin,1,T)) fail <- fail + 1 } } return(fail) } n <- 5000 trials …

4
在拟合ARIMA模型之前何时记录对时间序列的变换
我以前曾使用Forecast Pro预测单变量时间序列,但将工作流程切换到R。R的预测程序包包含许多有用的功能,但它没有做的一件事是在运行auto之前进行了任何类型的数据转换。 .arima()。在某些情况下,预测专家决定在进行预测之前记录转换数据,但是我还没有弄清楚为什么。 所以我的问题是:在尝试使用ARIMA方法之前,我应该何时对时间序列进行日志转换? / edit:阅读答案后,我将使用类似x的时间序列: library(lmtest) if ((gqtest(x~1)$p.value < 0.10) { x<-log(x) } 这有意义吗?

1
零相关混合模型理论上什么时候听起来正确?
下面的块引用来自混合效果建模领域的领导者,声称在随机效果之间零相关的模型(“ ZCP”模型)中协调模型的移动会更改模型预测。 但是,有人可以详细说明或进一步证明其主张吗? 有问题的陈述来自Bates等人在 2015年发表的论文lme4,使用lme4拟合线性混合效应模型,第7页,第二段(下载链接)。 \newcommand{\slope}{\text{slope}} \newcommand{\int}{\text{int}} \newcommand{\intercept}{\text{intercept}} 以下是他们所写内容的解释: 尽管零相关参数模型用于降低随机斜率模型的复杂性,但是它们具有一个缺点。允许斜率和截距具有非零相关性的模型对于连续预测变量的加法位移是不变的。 当相关性被限制为零时,这种不变性将分解。预测变量的任何变化必然会导致估计的相关性以及模型的可能性和预测发生变化。1例如,我们可以简单地通过将Days [伴随\ slope的预测变量] 移位等于估算的对象间标准偏差乘以估算的相关性的比值即2来消除fm1中的相关性,slopeslope\slope ρslope:intercept×σslopeσinterceptρslope:intercept×σslopeσintercept\rho_{\slope:\intercept}\times\frac{\sigma_{\slope}}{\sigma_{\intercept}} 理想情况下,此类模型的使用应仅限于以比率比例尺测量预测变量的情况(即,比例尺上的零点是有意义的,而不仅仅是通过便利或惯例定义的位置)。 问题: 按照上面的上标编号... 我可以看到,用来测量预测变量的坐标系中的任何偏移都将导致估计的相关性发生变化,从而导致非零相关性。这支持这样的说法,即零相关参数模型在预测变量坐标系中的位移下不是不变的,因此,具有非零随机效应相关性的任何模型都可以通过适当的坐标偏移而转换为具有零相关性的模型。我认为它也支持上面解释的第三段:ZCP模型(和零截距模型-参见下文;但是请在此进行检查)仅适用于使用某些特殊坐标系的模型。 但是为什么要针对此类模型更改坐标预测呢? 例如,坐标的偏移也将更改组平均值的固定效果截距项(请参见下文),但仅更改与预测变量的坐标系的原点变化相称的量。只要将新的坐标系用于已移动的预测变量,此更改就不会影响模型预测。 详细地说,如果与移动的预测变量关联的固定效果斜率为正,并且预测变量坐标系的原点向负方向移动,则固定效果的截距将减少,并且任何相关的随机效应的截距也将更改相应地,在位移坐标系中反映了“原点”(因此是截距)的新定义。顺便说一句,我认为这种推理还意味着零截距模型在这种偏移下也不是不变的。 我认为我有一个合理的解决方案,但得出的答案与贝茨等人 略有不同。我在哪里出错了? 以下是我的答案。接下来是对我如何得出结果的描述。总而言之,我发现如果我将原点负移,那么在新坐标系中,预测变量取值,则新坐标系中的相关性 如果为零,则为零:xxxδ>0δ>0\delta > 0x′=x+δx′=x+δx' = x + \deltaρ′ρ′\rho' δ=ρslope:intercept×σinterceptσslopeδ=ρslope:intercept×σinterceptσslope\delta=\rho_{\slope:\intercept}\times\frac{\sigma_{\intercept}}{\sigma_{\slope}} 这与贝茨等人的结果不同。 我的方法的说明(可选阅读):假设我们具有两个随机效果的相关性,即和(简称),它们都对应于具有水平的相同分组因子(编号为,范围从至)。我们还说,与随机配对的连续预测变量称为,定义为使得乘积生成对水平的拟合值的条件贡献slopeslope\slopeinterceptintercept\interceptintint\intkkkiii111kkkslopeslope\slopexxxx×slopeix×slopeix\times\slope_iy^obsy^obs\hat y_{obs}iii相关的分组因子。尽管实际上MLE算法确定的值以使可能性最大,但我希望下面的表达式应该是确定均匀平移效果的尺寸正确方法,是的随机效果的乘数。。ρρ\rhoxxxslopeslope\slope ρslope:int=Ei[(slopei−slopei¯¯¯¯¯¯¯¯¯¯¯¯)(inti−inti¯¯¯¯¯¯¯¯)]Ei[(slopei−slopei¯¯¯¯¯¯¯¯¯¯¯¯)2]Ei[(inti−inti¯¯¯¯¯¯¯¯)2]−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√ρslope:int=Ei[(slopei−slopei¯)(inti−inti¯)]Ei[(slopei−slopei¯)2]Ei[(inti−inti¯)2]\rho_{\slope:\int} = \frac{E_{i}\big[(\slope_i -\overline {\slope_i})(\int_i -\overline {\int_i})\big]}{\sqrt{E_{i}\big[(\slope_i -\overline {\slope_i})^2\big]E_{i}\big[(\int_i-\overline {\int_i})^2\big]}} 为了得出我的结果,我首先用新的截距值重写了截距的旧值(此处,,即“向左'预测变量原点偏移)。然后,将结果表达式代入的上述公式的分子中,计算的值,该值在新坐标系中的协方差为零。请注意,如上面问题1所述,固定效果拦截项也将以类似的方式更改:。(这里int′=−δ×slope+intint′=−δ×slope+int\int' = -\delta \times …

3
“跨栏模式”真的是一种模式吗?还是只有两个单独的顺序模型?
考虑一个y从正常预测变量中预测计数数据的障碍模型x: set.seed(1839) # simulate poisson with many zeros x <- rnorm(100) e <- rnorm(100) y <- rpois(100, exp(-1.5 + x + e)) # how many zeroes? table(y == 0) FALSE TRUE 31 69 在这种情况下,我有69个零和31个正计数的计数数据。目前,请不要忘记,根据数据生成过程的定义,这是一个泊松过程,因为我的问题是关卡模型。 假设我想通过障碍模型处理这些多余的零。从我对它们的阅读中,似乎障碍模型本身并不是实际的模型,而是依次进行两种不同的分析。首先,进行逻辑回归,以预测该值是否为正对零。第二,零截断的Poisson回归仅包含非零情况。第二步对我来说是错误的,因为它是(a)丢弃完美的数据,(b)由于许多数据为零,可能会导致电源问题,并且(c)基本上不是其自身的“模型” ,但只需依次运行两个不同的模型即可。 因此,我尝试了“障碍模型”,而不是分别运行逻辑和零截断的泊松回归。他们给了我相同的答案(为简洁起见,我将输出缩写): > # hurdle output > summary(pscl::hurdle(y ~ x)) Count model coefficients (truncated poisson …

4
在一个图中可视化许多变量
我想展示某些变量(〜15)的值如何随时间变化,但我也想展示变量在每年中如何彼此不同。所以我创建了这个情节: 但是,即使更改配色方案或添加不同的线条/形状类型,也看起来很混乱。有没有更好的方式可视化此类数据? 使用R代码测试数据: structure(list(Var = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, …


5
如何测试和避免混合线性模型中的多重共线性?
我目前正在运行一些混合效果线性模型。 我在R中使用软件包“ lme4”。 我的模型采用以下形式: model <- lmer(response ~ predictor1 + predictor2 + (1 | random effect)) 在运行模型之前,我检查了预测变量之间可能的多重共线性。 我这样做是: 建立预测变量的数据框 dummy_df <- data.frame(predictor1, predictor2) 使用“ cor”功能来计算预测变量之间的Pearson相关性。 correl_dummy_df <- round(cor(dummy_df, use = "pair"), 2) 如果“ correl_dummy_df”大于0.80,则我认为预测变量1和预测变量2的相关性太高,因此它们未包含在我的模型中。 在阅读时,将出现更多客观的方法来检查多重共线性。 有人对此有任何建议吗? “方差通胀因子(VIF)”似乎是一种有效方法。 可以使用AED程序包中的函数“ corvif”(非cran)来计算VIF。可以在http://www.highstat.com/book2.htm上找到该软件包。该软件包支持以下书籍: Zuur,AF,Ieno,EN,Walker,N.,Saveliev,AA和Smith,GM2009。《混合效应模型和生态学扩展》 R,第1版。纽约斯普林格。 似乎一般的经验法则是,如果VIF> 5,则预测变量之间的多重共线性较高。 使用VIF是否比简单的Pearson相关性更强大? 更新资料 我在以下位置找到了一个有趣的博客: http://hlplab.wordpress.com/2011/02/24/diagnosing-collinearity-in-lme4/ 博主提供了一些有用的代码,可为来自lme4软件包的模型计算VIF。 我已经测试了代码,并且效果很好。在随后的分析中,我发现模型的多重共线性不是一个问题(所有VIF值均小于3)。鉴于我之前已经发现某些预测变量之间存在较高的皮尔逊相关性,因此这很有趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.