Questions tagged «r»

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

3
如何解释R中lm公式中的相互作用项?
在R中,如果我lm()以以下方式调用该函数: lm.1 = lm(response ~ var1 + var2 + var1 * var2) summary(lm.1) 这给了我一个带有的响应变量的线性模型var1,var2以及它们之间的相互作用。但是,我们如何精确地数字化解释交互作用项? 该文档说这是var1和之间的“交叉” var2,但没有给出“交叉”的确切含义。 知道R正在计算什么确切数字以合并两个变量之间的相互作用,这对我很有帮助。
9 r  regression 

1
Logistic回归模型变量的p值的含义
因此,我正在R中使用逻辑回归模型。尽管我还不熟悉统计学,但我现在似乎对回归模型有了一些了解,但仍然有些困扰我: 查看链接的图片,您会看到我创建的示例模型的摘要R打印。该模型正在尝试预测是否将重新找到数据集中的电子邮件(二进制变量isRefound),并且数据集中包含与密切相关的两个变量isRefound,即- next24和next7days-均为二进制,并告知是否将在下一个单击邮件。从日志中的当前点开始的24小时/接下来的7天。 高p值应表明,此变量对模型预测的影响是相当随机的,不是吗?基于这一点,我不明白为什么当这两个变量被排除在计算公式之外时,模型预测的精度为什么会下降到10%以下。如果这些变量的重要性不高,为什么将它们从模型中删除会产生如此大的影响? 最好的问候和预先的感谢,Rickyfox 编辑: 首先,我仅删除了next24,这会产生很小的影响,因为它的系数很小。正如预期的那样,变化不大-不会为此上传图片。 移除next7day会对模型产生重大影响:AIC提升200k,精度降低至16%,召回率降低至73%

2
ARIMA预测具有季节性和趋势,结果奇怪
当我开始使用ARIMA模型进行预测时,我试图了解如何根据ARIMA随季节和漂移的变化来改进预测。 我的数据是以下时间序列(超过3年,趋势清晰且季节性明显,似乎在滞后12、24、36?时自相关不支持)。 > bal2sum3years.ts Jan Feb Mar Apr May Jun Jul Aug 2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729 2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888 2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416 Sep Oct Nov Dec 2010 2232261 2394644 2468479 2816287 2011 2480940 …

1
如何为一个级别与另一个级别的平均值之差指定对比度矩阵(以R为单位)?
我有一个看起来像这样的回归模型:Y=β0+β1X1+β2X2+β3X3+β12X1X2+β13X1X3+β123X1X2X3Y=β0+β1X1+β2X2+β3X3+β12X1X2+β13X1X3+β123X1X2X3Y = \beta_0+\beta_1X_1 + \beta_2X_2 + \beta_3X_3 +\beta_{12}X_1X_2+\beta_{13}X_1X_3+\beta_{123}X_1X_2X_3 ...或用R表示法: y ~ x1 + x2 + x3 + x1:x2 + x1:x3 + x1:x2:x3 假设和是分类变量,而是数字。复杂之处在于具有三个级别并且我需要测试以下内容而不是标准对比:X1X1X_1X2X2X_2X3X3X_3X1X1X_1X1a,X1b,X1cX1a,X1b,X1cX_{1a}, X_{1b}, X_{1c} 级的截距是否与和级的平均截距明显不同。X1aX1aX_{1a}X1bX1bX_{1b}X1cX1cX_{1c} 的响应在级与和级的平均值之间是否显着不同。X2X2X_2X1aX1aX_{1a}X1bX1bX_{1b}X1cX1cX_{1c} 的斜率在级别与级别和的平均值之间是否显着不同。X3X3X_3X1aX1aX_{1a}X1bX1bX_{1b}X1cX1cX_{1c} 根据这篇文章,看来我想要的矩阵是... 2 -1 -1 我也是contrasts(mydata$x1)<-t(ginv(cbind(2,-1,-1)))。的估计更改,其他的更改。我可以重现的新的估计通过减去的预测值和组装置(当和处于其基准电平)从值的两倍在这些级别。但是我不能相信自己正确地指定了对比度矩阵,除非我也可以类似地得出其他系数。β1β1\beta_1beta1beta1beta_1X1bX1bX_1bX1cX1cX_1cX3=0X3=0X_3=0X2X2X_2X1aX1aX_1a 有人对如何将我的头脑包扎在单元均值和对比度之间的关系上有任何建议吗?谢谢。这种对比有标准名称吗? 啊哈!根据Glen_b答案中发布的链接,最重要的是,您可以将想要的组的任何比较转换为R样式的对比度属性,如下所示: 制作一个方矩阵。行代表因子水平,列代表对比。除了第一个,它告诉模型截距应该代表什么。 如果您想让截距成为平均值,请在第一列中填写所有相同的非零值,无论如何。如果要让截距成为水平均值之一,则在该行中放置一个数字,并用零填充其余部分。如果您希望截距是多个级别的平均值,则在这些行中输入数字,在其余行中输​​入零。如果希望它是加权平均值,请使用不同的数字,否则请使用相同的数字。您甚至可以在intercept列中输入负值,这也可能意味着某些事情,但是它完全改变了其他对比度,所以我不知道那是什么意思 在正数和负数中填充其余的列,以指示您要与其他水平进行比较的水平。我忘记了为什么总和为零很重要,但是要调整值以使列的总和为零。 使用t()函数转置矩阵。 ginv()从MASS包装中使用或solve()以获得转置矩阵的逆。 删除第一列,例如mycontrast<-mycontrast[,-1]。现在您有了apx p-1矩阵,但是在第5步中,您为截取输入的信息被整体编码为矩阵。 如果您希望摘要输出中的标签比其他lm()人的默认输出更易于阅读,请相应地为矩阵的列命名。截距将始终自动被命名(Intercept)。 使矩阵成为相关因素的新对比,例如 contrasts(mydata$myfactor)<-mymatrix 运行lm()(和使用公式可能很多其他功能)为在标准的R正常,而无需负载glht,doBy或contrasts。 Glen_b,谢谢,也感谢您加州大学洛杉矶分校统计咨询小组。我的应用统计专家花了几天时间研究这个话题,但我仍然不知道如何实际编写自己的对比度矩阵。而现在,一个小时的阅读和使用R的乐趣,我终于觉得我明白了。猜猜我应该改为申请UCLA。或大学StackExchange。
9 r  contrasts 

3
为k均值选择聚类:1个聚类情况
有谁知道一种确定使用kmeans进行聚类是否合适的好方法?也就是说,如果您的样品实际上是同质的,该怎么办?我知道类似混合模型(通过R中的mclust)可以为1:k群集情况提供适合的统计信息,但是似乎所有评估kmeans的技术都至少需要2个群集。 有谁知道一种比较kmeans的1和2集群案例的技术?
9 r  clustering  k-means 

1
使用分类变量模拟逻辑回归数据
我正在尝试为逻辑回归创建一些测试数据,并且发现了这篇文章如何模拟逻辑回归的人工数据? 这是一个很好的答案,但它仅创建连续变量。对于与链接相同的示例,与y关联的具有5个级别的分类变量x3(ABCDE)如何处理?

3
使用矩阵乘法计算二进制数据的Jaccard或其他关联系数
我想知道是否有任何可能的方法可以使用矩阵乘法来计算Jaccard系数。 我用了这段代码 jaccard_sim <- function(x) { # initialize similarity matrix m <- matrix(NA, nrow=ncol(x),ncol=ncol(x),dimnames=list(colnames(x),colnames(x))) jaccard <- as.data.frame(m) for(i in 1:ncol(x)) { for(j in i:ncol(x)) { jaccard[i,j]= length(which(x[,i] & x[,j])) / length(which(x[,i] | x[,j])) jaccard[j,i]=jaccard[i,j] } } 在R中实现这一点是完全可以的。我完成了骰子的相似性,但是被Tanimoto / Jaccard所卡住。有人可以帮忙吗?

1
未知的p值计算
我最近在调试R脚本时发现很奇怪,作者定义了自己的p值函数 pval <- function(x, y){ if (x+y<20) { # x + y is small, requires R.basic p1<- nChooseK(x+y,x) * 2^-(x+y+1); p2<- nChooseK(x+y,y) * 2^-(x+y+1); pvalue = max(p1, p2) } else { # if x+y is large, use approximation log_p1 <- (x+y)*log(x+y) - x*log(x) - y*log(y) - (x+y+1)*log(2); pvalue<-exp(log_p1); } return(pvalue) …

2
R中的间隔审查Cox比例风险模型
给定间隔审查的生存时间,我如何在中执行间隔审查的Cox PH模型R?随便搜索即可找到该软件包intcox,该软件包不再存在于R存储库中。我几乎肯定该包中的coxph功能survival无法处理间隔检查的生存数据。 另外,我不想插入数据然后使用该coxph函数。该方法低估了系数的标准误差,因为您忽略了间隔检查的不确定性。

2
如何在R中使用简单的指数平滑?
我是R的初学者,能否请您解释一下如何在R Forecast的预测包中使用ses ?我想选择初始周期数和平滑常数。 d <- c(3,4,41,10,9,86,56,20,18,36,24,59,82,51,31,29,13,7,26,19,20,103,141,145,24,99,40,51,72,58,94,78,11,15,17,53,44,34,12,15,32,14,15,26,75,110,56,43,19,17,33,26,40,42,18,24,69,18,18,25,86,106,104,35,43,12,4,20,16,8) 我有70个周期,我想将40个周期用于初始样本,将30个周期用于样本外。 ses(d, h=30, level=c(80,95), fan=FALSE,initial=c("simple"), alpha=.1) 这是对的吗?

4
Box Cox转换以进行回归
我正在尝试仅使用一个预测变量(例如(x,y))将线性模型拟合到某些数据上。数据使得对于较小的x值,y值与直线紧密匹配,但是,随着x值的增加,y值变得更加不稳定。这是此类数据(R代码)的示例 y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9) x = seq(1,10,1) 我很想知道是否存在任何幂变换(也许是Box cox?),这使我比简单地进行线性拟合(如下所示)更适合数据。 fit = lm(y ~ x)

4
如何按时间序列绘制20年的每日数据
我有以下数据集:https : //dl.dropbox.com/u/22681355/ORACLE.csv, 并想按“日期”在“打开”中绘制每日变化,所以我做了以下工作: oracle <- read.csv(file="http://dl.dropbox.com/u/22681355/ORACLE.csv", header=TRUE) plot(oracle$Date, oracle$Open, type="l") 我得到以下信息: 现在这显然不是有史以来最好的图,所以我想知道在绘制这样的详细数据时使用什么正确的方法?

1
线性回归模型的置信度和预测区间
好吧,所以我试图理解线性回归。我有一个数据集,看起来还不错,但是我很困惑。这是我的线性模型摘要: Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.2068621 0.0247002 8.375 4.13e-09 *** temp 0.0031074 0.0004779 6.502 4.79e-07 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.04226 on 28 degrees of freedom Multiple R-squared: 0.6016, Adjusted R-squared: 0.5874 …
9 r  regression 

3
比较发生率
我想比较两组之间的发生率(一组没有疾病,一组有疾病)。 我打算计算发病率比率(IRR),即发病率组B /发病率组A,然后测试该比率是否等于1,最后计算IRR的95%CI间隔。 我在书中找到了一种计算95%CI的方法(Rosner's Fundamentals of Biostatistics): exp[log(IRR)±1.96(1/a1)+(1/a2)−−−−−−−−−−−−√]exp⁡[log⁡(IRR)±1.96(1/a1)+(1/a2)]\exp\left[\log(\text{IRR}) \pm 1.96\sqrt{(1/a_1)+(1/a_2)}\right] 其中,和是事件数。但是,这种近似值仅适用于足够大的样本量,我认为事件的数量很小(也许对于总体比较来说还可以)。a1a1a_1a2a2a_2 所以我认为我应该使用另一种方法。 我使用R和extraci包,发现可以使用poisson.test()。但是此函数有3种方法来定义两个侧面的p值:中心,minlike和blaker。 所以我的问题是: 使用比较泊松率的检验比较两个发生率比率im是否正确? 在使用来自确切代码包的R中的poisson.test函数时,哪种方法最好? 该小品的exactci说: 中心:是上面由1限定的单侧p值的最小值的2倍。名称“中心”是由相关的反转条件间隔(即中心间隔)引起的,即,它们保证真实参数小于小于(大于)100(1-)%置信区间的下(上)尾的概率。这被Hirji(2006)称为TST(较小尾法的两倍)。α/2α/2\alpha/2αα\alpha minlike:是可能性小于或等于观察到的可能性的结果概率之和。这被Hirji(2006)称为PB(基于概率)方法。 blaker:将观察到的较小尾巴的概率与相对尾巴的最小概率(不超过观察到的尾巴概率)相结合。Blaker(2000)提出了“ blaker”这个名字,该名字全面研究了有关置信区间的相关方法。这被Hirji(2006)称为CT(组合尾巴)方法。 我的数据是: Group A: Age group 1: 3 cases in 10459 person yrs. Incidence rate: 0.29 Age group 2: 7 cases in 2279 person yrs. Incidence rate: 3.07 Age group …

2
确定组中最大的贡献者
我对统计信息了解不多,请多多包涵。假设我有一组1000名工人。我想弄清楚谁是最努力的人,但我只能以一个小时的工作量为一组,以1-100人为单位来衡量完成的工作量。假设每个工人总是做相同数量的工作,那么在大量的试验和组合中,我能按谁最努力的方式对工人进行排名吗? 注意:这只是一个隐喻,因此不必担心实际运行测试,只需假设我已经有大量数据即可。 编辑: 当我说“假设每个工人总是做相同数量的工作”时,我的意思是每个人每天都做相同数量的工作。因此,乔伊每天将做大约100个工作单元,格雷格将做大约50个工作单元。问题是我只能观察小组完成的工作单元数。 更多编辑: 关于一次工作的工人数量及其工作频率。可能有许多工人同时工作。一些工人可能最终会比其他工人工作更多,也就是说,我们可以假设一些工人将近90%的时间在工作,而其他工人几乎永远不会。 我知道这很困难,但是我将拥有一个非常大的数据集,因此希望这会使它变得容易一些。 对于每个小时,我们知道哪些工人在工作以及完成了多少工作。从这些信息中,我想找出谁做得最多。 如果数据为JSON格式,则将如下所示: [ { "work_done": 12345, "Workers": [ "andy", "bob", "cameron", "david" ] }, { "work_done": 432, "Workers": [ "steve", "joe", "andy"] }, { "work_done": 59042, "Workers": [ "bob", "aaron", "michelle", "scott", "henry" ] }, ... ]

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.