Questions tagged «r»

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

2
如何知道数据是否遵循R中的泊松分布?
我是一名本科生,并且为我的概率课程设计了一个项目。基本上,我有一个数据集,介绍了影响了我国多年的飓风。 在我的概率书((概率与统计数为R)中,有一个(不完整的)示例,说明如何检查数据是否遵循泊松分布,他们开始尝试证明遵循了这三个条件: 120(标准)第122-123页示例) 1-非重叠间隔中的结果数是独立的。换句话说,时间间隔(0,t]中的结果数与时间间隔(t,t + h],h> 0的结果数无关 2-在足够短的间隔内出现两个或更多结果的可能性实际上为零。换句话说,如果h足够小,则与在相同时间间隔中获得一个或零个结果的概率相比,在时间间隔(t,t + h]中获得两个或多个结果的概率可以忽略不计。 3-在足够短的间隔或较小区域中恰好一个结果的概率与间隔或区域的长度成正比。换句话说,在长度为h的区间中一个结果的概率为lambda * h。 但是标准3被“作为练习”。 A-有人可以告诉我是否有更“简便”的方法来查看我的数据集是否遵循泊松分布吗? B-有人可以用某种示例向我解释准则1和3(如果使用R的话,太棒了)? 谢谢! 注意:很抱歉,冗长的帖子。另外,我必须转换数据,以便有一个像这样的表: number of hurricanes | 0 | 1 | 2 etc. ----------------------------------------- total years that have | | | that number of hurricanes | | |

3
R中的列式矩阵归一化
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 6年前关闭。 我想在R中执行矩阵的列式归一化。给定一个矩阵m,我想通过将每个元素除以该列的总和来归一化每个列。一种执行此操作的方法如下: m / t(replicate(nrow(m), colSums(m))) 有没有更简洁/更优雅/更有效的方法来完成相同的任务?

2
子集R时间序列向量
我有一个时间序列,我想将其作为子集,同时将其保留为时间序列,以保留开始,结束和频率。 例如,假设我有一个时间序列: > qs <- ts(101:110, start=c(2009, 2), frequency=4) > qs Qtr1 Qtr2 Qtr3 Qtr4 2009 101 102 103 2010 104 105 106 107 2011 108 109 110 现在,我将其子集化: > qs[time(qs) >= 2010 & time(qs) < 2011] [1] 104 105 106 107 请注意,我得到了正确的结果,但是我丢失了时间序列(即开始,结束,频率)中的“包裹”。 我正在为此寻找一个功能。划分时间序列不是常见的情况吗?由于我还没有找到,所以我写了一个函数: subset.ts <- function(data, start, end) { …
25 r  time-series 

1
在lme中指定多个(单独的)随机效果[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 6个月前关闭。 我正在使用R软件包nlme和lme4进行工作,试图指定具有多个随机效果的模型。我发现,只有nlme允许指定方差的异质结构。因此,我得到一个模型,其中温度(Y)取决于时间(以小时为单位),截距随日期和年份而变化,方差也随年份而变化: fit1 <- lme(Y ~ time, random=~1|year/date, data=X, weights=varIdent(form=~1|year)) 但是,如果我需要添加另一个随机项(时间随日期变化),并指定模型,如下所示: fit2 <- lme(Y ~ time, random=list(~1|year, ~time-1|date, ~1|date), data=X, weights=varIdent(form=~1|year)) 随机效果相互嵌套:日期,年份;然后以日期和年份为日期。 我也试过 one <- rep(1, length(Y)) fit3 <- lme(Y ~ time, random=list(one=pdBlocked(list(pdSymm(~1|year/date), pdSymm(~time-1|year)))), data=X, weights=varIdent(form=~1|year)) 但它给出了一个错误: Error in pdConstruct.pdBlocked(object, form = form, nam = nam, data …

3
用分类变量解释logit回归中的交互项
我从一项调查实验获得的数据中,将受访者随机分配到以下四个组之一: > summary(df$Group) Control Treatment1 Treatment2 Treatment3 59 63 62 66 尽管三个治疗组在施加的刺激方面确实略有不同,但我关心的主要区别是对照组和治疗组之间。所以我定义了一个虚拟变量Control: > summary(df$Control) TRUE FALSE 59 191 在调查中,受访者(除其他外)被要求选择他们偏好的两件事中的哪一项: > summary(df$Prefer) A B NA's 152 93 5 然后,在接受治疗组确定的刺激(如果不在对照组中则没有刺激)后,要求受访者在相同的两件事之间进行选择: > summary(df$Choice) A B 149 101 我想知道三个治疗组之一的存在是否对受访者在最后一个问题中做出的选择有影响。我的假设是,接受治疗的受访者比接受治疗的可能性A更大B。 鉴于我正在使用分类数据,因此我决定使用logit回归(如果您认为这是不正确的,请随时鸣叫)。由于受访者是随机分配的,我的印象是我不一定需要控制其他变量(例如,人口统计学),因此我将那些变量留给了这个问题。我的第一个模型如下: > x0 <- glm(Product ~ Control + Prefer, data=df, family=binomial(link="logit")) > summary(x0) Call: glm(formula …

3
评估Hosmer-Lemeshow拟合优度的逻辑回归和解释
众所周知,有两种评估逻辑回归模型的方法,它们正在测试非常不同的事物 预测能力: 获取一个统计数据,该统计数据可衡量您可以基于自变量预测因变量的程度。众所周知的伪R ^ 2是McFadden(1974)和Cox and Snell(1989)。 拟合优度统计 该测试告诉您是否可以通过使模型更复杂来做得更好,实际上是在测试是否存在任何非线性或相互作用。 我在模型上实施了两个测试, 已经添加了二次和交互: >summary(spec_q2) Call: glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, family = binomial()) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.955431 8.838584 0.108 …

2
贝叶斯套索vs普通套索
套索可使用不同的实现软件。我知道在不同的论坛上有很多关于贝叶斯方法与常客方法的讨论。我的问题特别针对套索- 贝叶斯套索与常规套索有什么区别或优势? 这是该包中的两个实现示例: # just example data set.seed(1233) X <- scale(matrix(rnorm(30),ncol=3))[,] set.seed(12333) Y <- matrix(rnorm(10, X%*%matrix(c(-0.2,0.5,1.5),ncol=1), sd=0.8),ncol=1) require(monomvn) ## Lasso regression reg.las <- regress(X, Y, method="lasso") ## Bayesian Lasso regression reg.blas <- blasso(X, Y) 那么我什么时候应该选择一种或其他方法呢?还是一样?

4
时间序列异常检测算法
我目前在R中使用Twitter的AnomalyDetection:https : //github.com/twitter/AnomalyDetection。该算法为具有季节性的数据提供时间序列异常检测。 问题:是否有与此类似的其他算法(控制季节性无关紧要)? 我正在尝试在数据上为尽可能多的时间序列算法评分,以便我可以选择最佳的算法。

2
如何在GAM中包含一个互动词?
以下代码评估两个时间序列之间的相似性: set.seed(10) RandData <- rnorm(8760*2) America <- rep(c('NewYork','Miami'),each=8760) Date = seq(from=as.POSIXct("1991-01-01 00:00"), to=as.POSIXct("1991-12-31 23:00"), length=8760) DatNew <- data.frame(Loc = America, Doy = as.numeric(format(Date,format = "%j")), Tod = as.numeric(format(Date,format = "%H")), Temp = RandData, DecTime = rep(seq(1, length(RandData)/2) / (length(RandData)/2), 2)) require(mgcv) mod1 <- gam(Temp ~ Loc + s(Doy) + s(Doy,by …


3
当结果为分数(两个计数之比)时,如何在R中进行逻辑回归?
我正在审阅具有以下生物学实验的论文。使用装置将细胞暴露于变化量的流体剪切应力。当对细胞施加更大的剪切应力时,更多的细胞开始从基底上脱离。在每个剪切应力水平下,他们都对保持附着的细胞进行计数,并且由于他们知道开始时附着的细胞总数,因此他们可以计算分数附着(或分离)。 如果您绘制粘附分数与剪切应力的关系图,则结果将为逻辑曲线。从理论上讲,每个单元都是一个观察值,但是显然有成千上万个单元,因此,如果以通常的方式建立数据集(每一行都是一个观察值),那么数据集将是巨大的。 因此,自然地,我的问题(如标题中所述)现在应该有意义。我们如何使用分数结果作为DV进行逻辑回归?是否可以在glm中完成一些自动转换? 同样,如果可能存在3个或更多(分数)度量,那么对于多项式逻辑回归该怎么做?

4
这是测试自杀人数数据中季节性影响的适当方法吗?
我有17年(1995年至2011年)的死亡证明数据与美国某州的自杀死亡有关。关于自杀和自杀的个月数/季节,有很多神话,其中很多是自相矛盾的,我的文献中经过审查,我对所使用的方法或结果的把握并不清楚。 因此,我着手确定是否可以确定我的数据集中在任何给定月份内自杀的可能性或高或低。我所有的分析都在R中完成。 数据中的自杀总数为13,909。 如果您以自杀次数最少的年份为例,它们发生在309/365天(85%)。如果您查看自杀次数最多的年份,则发生在339/365天(93%)。 因此,每年都有相当多的日子没有自杀。但是,如果将这17年的总和汇总起来,那么一年中的每一天(包括2月29日)都会有自杀事件(尽管平均值为38时只有5次)。 (在我看来)仅将一年中每一天的自杀总数加起来并不表示明显的季节性。 按月汇总,每月平均自杀范围为: (m = 65,sd = 7.4,至m = 72,sd = 11.1) 我的第一种方法是按年份汇总所有年份的数据集,并在计算出原假设的预期概率后得出卡氏检验,即按月计算的自杀人数没有系统差异。我考虑了天数(并针对taking年调整了2月),计算了每个月的概率。 卡方结果表明按月没有明显变化: # So does the sample match expected values? chisq.test(monthDat$suicideCounts, p=monthlyProb) # Yes, X-squared = 12.7048, df = 11, p-value = 0.3131 下图显示了每月的总数。水平红线分别位于2月,30天和31天月份的期望值。与卡方检验一致,对于预期计数,没有一个月份在95%置信区间之外。 我以为我已经做完了,直到我开始研究时间序列数据。正如我想象的那样,我首先使用stlstats包中的函数进行非参数的季节性分解方法。 为了创建时间序列数据,我从汇总的每月数据开始: suicideByMonthTs <- ts(suicideByMonth$monthlySuicideCount, start=c(1995, 1), end=c(2011, 12), frequency=12) …

2
对于R中的重复测量方差分析,为什么lme和aov返回不同的结果?
我正在尝试从使用ez软件包过渡到lme重复测量方差分析(因为我希望能够在上使用自定义对比lme)。 遵循此博客文章的建议,我能够同时使用和设置相同的模型aov(ez当需要时也是如此)lme。然而,尽管在给出的例子中那个帖子的˚F -值不完美之间同意aov和lme(我检查,他们这样做),这是不是我的数据的情况。尽管F值相似,但它们并不相同。 aov返回1.3399的f值,lme返回1.36264。我愿意接受aov结果为“正确” 的结果,因为这也是SPSS返回的结果(这对我的字段/主管很重要)。 问题: 如果有人能解释为什么存在这种差异以及如何使用我lme来提供可靠的结果,那就太好了。(如果它给出“正确的”结果,我也愿意使用lmer而不是lme用于这种类型的东西。但是,到目前为止,我还没有使用它。) 解决此问题后,我想进行对比分析。尤其是我对合并因子的前两个级别(即c("MP", "MT"))并将其与因子的第三个级别(即)进行对比的兴趣"AC"。此外,测试因子的第三级与第四级(即"AC"vs "DA")。 数据: tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, …

3
每日时间序列分析
我正在尝试进行时间序列分析,并且是该领域的新手。我每天都在统计2006-2009年的某个事件,因此我想为其拟合时间序列模型。这是我取得的进步: timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25) plot.ts(timeSeriesObj) 我得到的结果图是: 为了验证是否存在季节性和趋势数据,或者不是,我按照此提到的步骤后: ets(x) fit <- tbats(x) seasonal <- !is.null(fit$seasonal) seasonal 在Rob J Hyndman的博客中: library(fma) fit1 <- ets(x) fit2 <- ets(x,model="ANN") deviance <- 2*c(logLik(fit1) - logLik(fit2)) df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df #P value 1-pchisq(deviance,df) 两种情况都表明没有季节性。 当我绘制该系列的ACF和PACF时,得到的是: 我的问题是: 这是处理每日时间序列数据的方式吗?该页面建议我应该同时查看每周和年度模式,但是这种方法对我来说并不明确。 一旦有了ACF和PACF图,我将不知道如何进行。 我可以简单地使用auto.arima函数吗? 适合<-arima(myts,order = c(p,d,q) *****更新了Auto.Arima结果****** 当我根据罗布海德门的评论的数据的频率改变为7 这里,auto.arima选择一个季节性ARIMA模型和输出: …

3
分散数据计数的合适模型是什么?
我正在尝试对R中的计数数据进行建模,R的数据显然分散不足(分散参数〜.40)。这可能就是为什么glm具有family = poisson二项式(glm.nb)模型或负二项式()模型不重要的原因。当我查看数据的描述时,我没有计数数据的典型偏斜,并且在我的两个实验条件下的残差也是均匀的。 所以我的问题是: 如果我的计数数据确实不像计数数据那样运行,我是否还需要对计数数据使用特殊的回归分析?有时我会遇到非正态性(通常是由于峰度),但是我使用百分位数自举法比较修整后的均值(Wilcox,2012年)以解决非正态性问题。可以用Wilcox建议并在WRS软件包中实现的任何可靠方法代替计数数据的方法吗? 如果必须对计数数据使用回归分析,如何计算色散不足?泊松分布和负二项式分布具有较高的色散,所以这不合适吗?我当时正在考虑应用拟泊松分布,但是通常建议将其用于过度分散。我阅读了有关R包中似乎能够解释过度散布和欠散的beta二项式模型VGAM的信息。但是,作者似乎建议使用倾斜的Poisson分布,但我在包中找不到它。 谁能推荐用于散布数据的过程,并可能提供一些示例R代码?

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.