Questions tagged «r»

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

1
为什么t检验和ANOVA为两组比较给出不同的p值?
在有关ANOVA的Wikipedia文章中,它说 ANOVA以其最简单的形式提供了几组均值是否相等的统计检验,因此将t检验推广到了两组以上。 我的理解是,在进行两组比较时,方差分析与t检验相同。 但是,在下面的简单示例中(R),ANOVA和t检验给出了相似但略有不同的p值。谁能解释为什么? x1=rnorm(100,mean=0,sd=1) x2=rnorm(100,mean=0.5,sd=1) y1=rnorm(100,mean=0,sd=10) y2=rnorm(100,mean=0.5,sd=10) t.test(x1,x2)$p.value # 0.0002695961 t.test(y1,y2)$p.value # 0.8190363 df1=as.data.frame(rbind(cbind(x=x1,type=1), cbind(x2,type=2))) df2=as.data.frame(rbind(cbind(x=y1,type=1), cbind(y2,type=2))) anova(lm(x~type,df1))$`Pr(>F)`[1] # 0.0002695578 anova(lm(x~type,df2))$`Pr(>F)`[1] # 0.8190279

1
哈尔蒂冈人的浸水测试的解释
我想找到一种方法来量化我凭经验获得的某些分布的双峰强度。据我了解,关于量化双峰态的方法仍有一些争议。我选择使用Hartigans的Dip测试,这似乎是R上唯一可用的测试(原始论文:http : //www.stat.washington.edu/wxs/Stat593-s03/Literature/hartigan85a.pdf)。Hartigans的倾角测试定义为:“倾角测试通过经验分布函数和最小化最大差异的单峰分布函数之间的所有样本点上的最大差来度量样本中的多峰”。 我想完全理解在使用统计信息之前应该如何解释。我期望如果分布是多峰的(将其定义为“与单峰分布的最大差异”),则浸入试验会增加。但是:您可以在Wikipedia页面上阅读有关多峰分布的信息:“小于0.05的值表示显着的双峰,而大于0.05但小于0.10的值表明双峰具有边际意义。” 。这种说法来自本文(图2)。根据本文,当分布为双峰时,浸入测试指数接近于0。这让我感到困惑。 为了正确解释Hartigans的Dip测试,我构造了一些分布(原始代码从这里开始),然后增加了exp(mu2)的值(从现在开始称为“双模强度” -编辑:我应该将其称为“强度”双峰的”),以获得双峰。在第一个图中,您可以看到一些分布示例。然后,我估计了与那些不同的模拟分布相关的浸入测试指数(第二张图)和p值(第三幅图)(包装浸入测试)。使用的R代码在我的文章结尾。 我在这里展示的是,当分配为双峰时,倾角测试指数较高,而Pvalue较低。这与您可以在互联网上阅读的内容相反。 我不是统计学专家,所以我几乎不了解Hartigans的论文。我想就正确解释Hartigans浸测的正确方式发表一些意见。我在哪里错了? 谢谢你们。问候, TA 模拟分布示例: 哈蒂根氏浸测指数相关: Hartigan的Dip测试p.value相关联: library(diptest) library(ggplot2) # CONSTANT PARAMETERS sig1 <- log(3) sig2 <- log(3) cpct <- 0.5 N=1000 #CREATING BIMOD DISTRIBUTION bimodalDistFunc <- function (n,cpct, mu1, mu2, sig1, sig2) { y0 <- rlnorm(n,mean=mu1, sd = sig1) y1 <- rlnorm(n,mean=mu2, …
18 r  distributions 

3
为什么k-means的差异统计表明一个聚类,即使显然有两个?
我正在使用K-means对数据进行聚类,并且正在寻找一种建议“最佳”聚类编号的方法。间隙统计似乎是找到一个好的簇号的常用方法。 由于某种原因,它返回1作为最佳群集数,但是当我查看数据时,很明显有2个群集: 这就是我所说的R中的差距: gap <- clusGap(data, FUN=kmeans, K.max=10, B=500) with(gap, maxSE(Tab[,"gap"], Tab[,"SE.sim"], method="firstSEmax")) 结果集: > Number of clusters (method 'firstSEmax', SE.factor=1): 1 logW E.logW gap SE.sim [1,] 5.185578 5.085414 -0.1001632148 0.1102734 [2,] 4.438812 4.342562 -0.0962498606 0.1141643 [3,] 3.924028 3.884438 -0.0395891064 0.1231152 [4,] 3.564816 3.563931 -0.0008853886 0.1387907 [5,] 3.356504 3.327964 -0.0285393917 …

5
检测时间序列的变化(R示例)
我想检测通常具有相同形状的时间序列数据的变化。到目前为止,我已经使用changepointR和cpt.mean(), cpt.var()and cpt.meanvar()函数的软件包。cpt.mean()当数据通常保持在一个级别时,使用PELT方法的效果很好。但是,我也想检测下降期间的变化。我要检测的一个变化示例是黑色曲线突然下降而实际上应遵循示例性红色虚线的部分。我已经尝试过cpt.var()函数,但是无法获得良好的结果。您是否有任何建议(不必使用R)? 这是具有更改的数据(作为R对象): dat.change <- c(12.013995263488, 11.8460207231808, 11.2845153487846, 11.7884417180764, 11.6865425802022, 11.4703118125303, 11.4677576899063, 11.0227199625084, 11.274775836817, 11.03073498338, 10.7771805591742, 10.7383206158923, 10.5847230134625, 10.2479315651441, 10.4196381241735, 10.467607842288, 10.3682422713283, 9.7834431752935, 9.76649842404295, 9.78257968297228, 9.87817694914062, 9.3449034905713, 9.56400153361727, 9.78120084558148, 9.3445162813738, 9.36767436354887, 9.12070987223648, 9.21909859069157, 8.85136359917466, 8.8814423003979, 8.61830163359642, 8.44796977628488, 8.06957847272046, 8.37999165387824, 7.98213210294954, 8.21977468333673, 7.683960439316, 7.73213584532496, 7.98956476021092, 7.83036046746187, 7.64496198988985, 4.49693528397253, 6.3459274845112, 5.86993447552116, …

1
使用H0下的引导程序来测试两种方法之间的差异:在组内还是在合并样本中进行替换
假设我有一个包含两个独立组的数据: g1.lengths <- c (112.64, 97.10, 84.18, 106.96, 98.42, 101.66) g2.lengths <- c (84.44, 82.10, 83.26, 81.02, 81.86, 86.80, 85.84, 97.08, 79.64, 83.32, 91.04, 85.92, 73.52, 85.58, 97.70, 89.72, 88.92, 103.72, 105.02, 99.48, 89.50, 81.74) group = rep (c ("g1", "g2"), c (length (g1.lengths), length (g2.lengths))) lengths = data.frame( lengths …

3
负二项式GLM与计数数据的对数转换:I型错误率增加
你们中有些人可能已经读过这篇不错的论文: O'Hara RB,Kotze DJ(2010)不要对计数数据进行对数转换。《生态与进化方法》 1:18–122。克利克。 在我的研究领域(生态毒理学)中,我们正在处理重复性较差的实验,并且GLM并未得到广泛使用。因此,我进行了类似于O'Hara&Kotze(2010)的模拟,但是模拟了生态毒理学数据。 功率模拟: 我模拟了一个有一个对照组()和5个治疗组()的阶乘设计的数据。处理1中的丰度与对照()相同,处理2-5中的丰度是对照中的丰度的一半()。对于模拟,我改变了样本大小(3、6、9、12)和对照组的丰度(2、4、8,...,1024)。从具有固定色散参数()的负二项式分布中提取丰度。使用负二项式GLM和高斯GLM +对数转换的数据生成并分析了100个数据集。μ 1 - 5 μ 1 = μ Ç μ 2 - 5 = 0.5 μ C ^ θ = 3.91μCμc\mu_cμ1 - 5μ1−5\mu_{1-5}μ1个= μCμ1个=μC\mu_1 = \mu_cμ2 - 5= 0.5 μCμ2-5=0.5μC\mu_{2-5} = 0.5 \mu_c角= 3.91θ=3.91\theta = 3.91 结果符合预期:GLM具有更大的功效,尤其是在采样的动物不多的情况下。 代码在这里。 类型I错误: 接下来,我看了一眼错误。如上所述进行模拟,但是所有组具有相同的丰度()。μC= μ1 - …

1
在稀疏数据矩阵上运行的聚类算法
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 5年前关闭。 我正在尝试编译以下群集算法列表: 在R中实施 对稀疏数据矩阵(不是(非)相似性矩阵)进行操作,例如由sparseMatrix函数创建的矩阵。 关于CV的其他几个问题都在讨论这个概念,但是这些问题都没有链接到可以直接在稀疏矩阵上运行的R包: 聚类大型稀疏数据集 聚类高维稀疏二进制数据 寻找稀疏和高维聚类实现 节省空间的集群 到目前为止,我已经在R中找到了一个可以聚类稀疏矩阵的函数: skmeans:球形kmeans 来自skmeans包。kmeans使用余弦距离。在dgTMatrix对象上操作。提供与遗传k均值算法,pclust,CLUTO,gmeans和kmndirs的接口。 例: library(Matrix) set.seed(42) nrow <- 1000 ncol <- 10000 i <- rep(1:nrow, sample(5:100, nrow, replace=TRUE)) nnz <- length(i) M1 <- sparseMatrix(i = i, j = sample(ncol, nnz, replace = TRUE), x = sample(0:1 , nnz, …
18 r  clustering  sparse 

3
轮廓似然与置信区间之间的关系是什么?
为了制作这张图表,我从均值= 0和sd = 1的正态分布中生成了大小不同的随机样本。然后使用t.test()函数使用从0.001到.999(红线)范围内的alpha截止值来计算置信区间,并使用下面的代码在线下计算代码的轮廓似然性(我可以暂时找不到链接:编辑:找到它),这由蓝线表示。绿线表示使用R density()函数的归一化密度,数据由每个图表底部的方框图显示。右边是95%置信区间(红色)和最大似然区间的1/20(蓝色)的毛毛虫图。 用于轮廓可能性的R代码: #mn=mean(dat) muVals <- seq(low,high, length = 1000) likVals <- sapply(muVals, function(mu){ (sum((dat - mu)^2) / sum((dat - mn)^2)) ^ (-n/2) } ) 我的具体问题是,这两种类型的间隔之间是否存在已知关系,为什么除了n = 3以外,所有情况下的置信区间似乎都比较保守。还需要有关我的计算是否有效(以及一种更好的方法)以及这两种类型的区间之间的一般关系的评论/答案。 R代码: samp.size=c(3,4,5,10,20,1000) cnt2<-1 ints=matrix(nrow=length(samp.size),ncol=4) layout(matrix(c(1,2,7,3,4,7,5,6,7),nrow=3,ncol=3, byrow=T)) par(mar=c(5.1,4.1,4.1,4.1)) for(j in samp.size){ #set.seed(200) dat<-rnorm(j,0,1) vals<-seq(.001,.999, by=.001) cis<-matrix(nrow=length(vals),ncol=3) cnt<-1 for(ci in vals){ …


9
成对的马氏距离
我需要在协变量的矩阵中,计算每对观测值之间R中的样本马氏距离。我需要一个有效的解决方案,即仅计算距离,并最好在C / RCpp / Fortran等中实现。我假设总体协方差矩阵不知道,并使用样本协方差矩阵。Ñ (ñ - 1 )/ 2 Σn×pñ×pn \times pn(n−1)/2ñ(ñ-1个)/2n(n-1)/2ΣΣ\Sigma 我对这个问题特别感兴趣,因为似乎没有用于计算R中成对的马氏距离的“共识”方法,即,dist既未在函数中也未在cluster::daisy函数中实现。mahalanobis没有程序员的额外工作,该函数不会计算成对距离。 这里已经问过R中的成对马氏距离,但那里的解决方案似乎不正确。 这是一种正确但效率极低的方法(因为计算了距离):n×nñ×ñn \times n set.seed(0) x0 <- MASS::mvrnorm(33,1:10,diag(c(seq(1,1/2,l=10)),10)) dM = as.dist(apply(x0, 1, function(i) mahalanobis(x0, i, cov = cov(x0)))) 这很容易用C语言编写自己的代码,但是我觉得这个基本的东西应该有一个预先存在的解决方案。有一个吗? 还有其他一些不足的解决方案:当仅需要唯一距离时,HDMD::pairwise.mahalanobis()计算距离。似乎很有希望,但是我不希望我的功能来自依赖于的程序包,这严重限制了其他人运行我的代码的能力。除非该实现是完美的,否则我宁愿自己编写。有人对此功能有经验吗?n (n − 1 )/ 2n×nñ×ñn \times nn(n−1)/2ñ(ñ-1个)/2n(n-1)/2compositions::MahalanobisDist()rgl
18 r  algorithms  distance 

3
lmer中的方差-协方差矩阵
我知道混合模型的优点之一是它们允许为数据指定方差-协方差矩阵(化合物对称性,自回归,非结构化等)。但是,lmerR中的函数不允许对该矩阵进行简单说明。有谁知道lmer默认使用什么结构,为什么没有办法轻松指定它?

1
极端随机森林与随机森林有何不同?
ER是否更有效地实现(类似于Extreme Gradient Boosting梯度提升)?从实际角度来看,差异重要吗?有实现它们的R包。是新的算法,不仅在效率方面,还是在某些其他方面,都克服了“通用”实现(R的RandomForest包)? 极端随机森林http://link.springer.com/article/10.1007%2Fs10994-006-6226-1

6
核外数据分析选项
我已经专业使用SAS已有5年了。我将其安装在笔记本电脑上,经常需要分析具有1,000-2,000个变量和数十万个观测值的数据集。 我一直在寻找SAS的替代方案,以使我能够对相似大小的数据集进行分析。我很好奇其他人在这种情况下会使用什么。当然,这不是今天使用的“大数据”。我的数据集也不足以容纳在内存中。我需要一种可以将算法应用于硬盘驱动器上存储的数据的解决方案。这些是我调查过的事情,无济于事: R-BigMemory可以创建存储在内存之外的矩阵,但是元素必须处于相同模式。我处理的字符和数字之间几乎是50/50的数据。FF软件包越来越接近我的需求,但是我不太了解哪些程序与之兼容。我认为支持程度有限。 熊猫-对于R的Python替代方案,我感到非常兴奋。但是,它也必须将所有数据保存在内存中。 Revolution R-这个显示出很大的希望。我的家用计算机上有一份副本(如果您注册Kaggle,则可以免费获得),但尚未对其进行测试以作为SAS的可行替代方案。人们非常赞赏对Revolution R作为SAS替代产品的评论。 谢谢 更新1 编辑时要补充一点,我正在寻找人们成功使用的现实可行的解决方案。在大多数情况下,SAS使我可以浏览大文件,而不必担心内存限制。无论采用哪种SAS,他们都想出了使内存管理对用户透明的方法。但是,我怀着一颗沉重的胸怀使用SAS来完成我的工作(我必须这样做),并且会喜欢使用FOSS替代方案,该方案使我能够处理“大型”数据,而不必太费力地考虑数据在哪里的位置。特定时间(在内存或磁盘上)。 我遇到的最接近的东西是R的FF包,以及Python即将出现的称为Blaze的东西。但是,这些问题已经存在了很多年,因此分析师在此期间一直在做什么?他们如何处理内存限制中的这些相同问题?提供的大多数解决方案似乎是: 获得更多的内存-imo,这不是一个好的解决方案。很容易找到一个可以超过RAM但仍然适合硬盘驱动器的数据集。此外,工作流程必须适应在探索性数据分析过程中创建的所有结构。 子集数据-这对于探索是很好的,但对于最终确定结果和报告不是很好。最终,在子集上开发的任何过程都必须应用于整个数据集(在我的情况下,无论如何)。 整理数据-这是我想从实际实施此工作流程的人员那里了解的更多信息。怎么做?用什么工具?可以通过对用户透明的方式来完成吗?(即,创建一些磁盘上的数据结构,框架负责引擎盖下的分块)。
18 r  sas  large-data 

2
的coxph模型摘要中给出的“
中的Coxph模型摘要中给出的值是多少?例如,[R2[R2R^2 Rsquare= 0.186 (max possible= 0.991 ) 我愚蠢地将其包括为值的手稿,审稿人跳了起来,说他不知道 正在为Cox模型开发的经典线性回归中的统计量的类似物,如果有请提供参考。任何帮助将是巨大的![R2[R2R^2[R2[R2R^2

5
实际使用哪些健壮的相关方法?
我计划进行一次仿真研究,在其中比较几种具有不同分布(偏斜,离群值等)的鲁棒相关技术的性能。对于稳健,我的意思是对a)偏斜分布,b)离群值和c)重尾稳健的理想情况。 除了将Pearson相关性作为基准外,我还想包括以下更可靠的措施: 斯皮尔曼的ρρ\rho 折弯百分比(Wilcox,1994,[1]) 最小体积椭圆形,最小协方差行列式(cov.mve/ cov.mcd与cor=TRUE选项) 温莎相关 当然,还有更多选择(特别是如果您还包括强大的回归技术),但是我想将自己局限于使用最多/很有希望的方法。 现在,我有三个问题(可以只回答一个问题): 我可以/应该包括其他健壮的相关方法吗? 您的领域实际上 使用了 哪些强大的相关技术?(谈到心理研究:除了Spearman的,我从未在技术论文之外见过任何健壮的关联技术。自举技术越来越受欢迎,但到目前为止,其他健壮的统计数据或多或少不存在)。ρρ\rho 您是否已经知道多种相关技术的系统比较? 也可以随意评论上面给出的方法列表。 [1] Wilcox,RR(1994)。百分比弯曲相关系数。心理疗法,59,601-616。

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.