Questions tagged «r»

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

2
在CART中选择复杂度参数
在用于创建CART模型的rpart()例程中,指定要将树修剪到的复杂度参数。对于选择复杂度参数,我看到了两种不同的建议: 选择与最小可能的交叉验证错误关联的复杂性参数。Quick-R和HSAUR 建议使用此方法。 选择最大复杂度参数,其估计的交叉验证误差仍在最小可能交叉验证误差的SE之内。这是我的包文档的解释,它说:“为修剪一个很好的选择CP往往是最左边的值,其平均谎言低于水平线”中提到此情节。 cp的两个选择在我的数据集中产生了完全不同的树。 似乎第一种方法将始终生成更复杂的,可能过度拟合的树。在文献中还存在其他优点,缺点和建议等。在决定使用哪种方法时应考虑在内?如果可以的话,我可以提供有关我的特定建模问题的更多信息,但是我试图将这个问题范围扩大到与其他问题相关。
16 r  cart  rpart 

3
从序列数据估计马尔可夫转移概率
我有4个状态的全套序列(准确地说是432个观察值)A−DA−DA-D:例如 Y=⎛⎝⎜⎜⎜⎜AB⋮BCA⋮CDA⋮ADC⋮DBA⋮AA−⋮BC−⋮A⎞⎠⎟⎟⎟⎟Y=(ACDDBACBAACA−−⋮⋮⋮⋮⋮⋮⋮BCADABA)Y=\left(\begin{array}{c c c c c c c} A& C& D&D & B & A &C\\ B& A& A&C & A&- &-\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\ B& C& A&D & A & B & A\\ \end{array}\right) 编辑:观察序列的长度不相等!这会改变什么吗? 有没有一种方法可以在Matlab或R或类似程序中计算转换矩阵?我认为HMM软件包可能会有所帮助。有什么想法吗?Pij(Yt=j|Yt−1=i)Pij(Yt=j|Yt−1=i)P_{ij}(Y_{t}=j|Y_{t-1}=i) 例如:估计马尔可夫链概率

2
GBM分类是否遭受班级规模不平衡的困扰?
我正在处理有监督的二进制分类问题。我想使用GBM软件包将个人分类为未感染/已感染。我的未感染人数是感染者的15倍。 我想知道GBM模型在班级规模不均衡的情况下是否会受到影响?我没有找到回答该问题的参考文献。 我尝试通过为未感染的个体分配1的权重并为感染的个体分配15的权重来调整权重,但是结果却很差。

2
一目了然的R结构G结构是什么?
我最近一直在使用MCMCglmm包裹。我对文档中称为R结构和G结构的内容感到困惑。这些似乎与随机效应有关-特别是为它们的先验分布指定参数,但是文档中的讨论似乎假设读者知道这些术语是什么。例如: 具有3个可能元素的先验规范的可选列表:R(R结构)G(G结构)和B(固定效应).............方差结构(R和G)的先验)列出了具有逆Wishart的期望(协方差)(V)和置信度参数(nu)的列表 ...取自 这里取得。 编辑:请注意,我已经按照斯蒂芬的评论改写了其余的问题。 任何人都可以阐明什么R-结构和G-结构是光,在其中线性预测器是一个简单的方差分量模型的上下文中 β0+e0ij+u0jβ0+e0ij+u0j\beta_0 + e_{0ij} + u_{0j} 与e0ij∼N(0,σ20e)e0ij∼N(0,σ0e2)e_{0ij} \sim N(0,\sigma_{0e}^2)和u0j∼N(0,σ20u)u0j∼N(0,σ0u2)u_{0j} \sim N(0,\sigma_{0u}^2) 我用随附的一些数据制作了以下示例 MCMCglmm > require(MCMCglmm) > require(lme4) > data(PlodiaRB) > prior1 = list(R = list(V = 1, fix=1), G = list(G1 = list(V = 1, nu = 0.002))) > m1 <- MCMCglmm(Pupated ~1, random = …

2
如何在R中既没有正态又没有方差相等的数据上进行双向ANOVA?
目前,我正在研究硕士论文,并计划使用SigmaPlot运行统计数据。但是,在花了一些时间处理数据后,我得出的结论是SigmaPlot可能不适合我的问题(我可能会误解了),因此我在R中开始了首次尝试,但并没有因此而变得更加容易。 计划是根据我的数据运行一个简单的TWO-WAY-ANOVA,该结果来自3种不同的蛋白质和对此进行8种不同的处理,所以我的两个因素是蛋白质和处理。我同时使用 > shapiro.test(time) 和 > ks.test(time, "norm", mean=mean(time), sd=sqrt(var(time))) 在这两种情况下(也许并不奇怪),我最终都得到了非正态分布。 哪一个给我留下了第一个问题,即哪个检验用于方差相等。我想出了 > chisq.test(time) 结果是,我的数据也没有方差相等。 我尝试了不同的数据转换(对数,中心,标准化),所有这些都不能解决我的方差问题。 现在我不知所措,如何进行ANOVA来测试哪些蛋白质和哪些治疗方法彼此之间有显着差异。我发现了有关Kruskal-Walis-Test的一些信息,但仅出于一个因素(?)。我还发现了有关排名或randamization的内容,但还没有找到如何在R中实现这些技术的方法。 有人建议我该怎么办吗? 编辑:谢谢您的回答,我对阅读有点不知所措(似乎越来越多而不是更少),但是我当然会继续前进。 根据建议,这是我的数据示例(对于格式,我感到非常抱歉,我无法找到其他解决方案或放置文件的地方。对于这一切我仍然是陌生的。): protein treatment time A con 2329.0 A HY 1072.0 A CL1 4435.0 A CL2 2971.0 A CL1-HY sim 823.5 A CL2-HY sim 491.5 A CL1+HY mix 2510.5 A CL2+HY mix …

4
在R中清洗格式不一致的数据?
我经常处理凌乱的调查数据,这需要大量清理才能完成任何统计数据。我曾经在Excel中“手动”执行此操作,有时使用Excel公式,有时一个接一个地检查条目。我开始通过编写脚本在R中完成这些任务来做越来越多的任务,这是非常有益的(好处包括记录已完成的操作,减少出错的机会以及在数据集为更新)。 但是我仍然无法有效处理某些类型的数据。例如: > d <- data.frame(subject = c(1,2,3,4,5,6,7,8,9,10,11), + hours.per.day = c("1", "2 hours", "2 hr", "2hr", "3 hrs", "1-2", "15 min", "30 mins", "a few hours", "1 hr 30 min", "1 hr/week")) > d subject hours.per.day 1 1 1 2 2 2 hours 3 3 2 hr 4 4 …
16 r  data-cleaning 

1
使用R和plm估算包含时间相互作用的固定效应模型
我plm()用来估计形式的固定效应模型 y ~ x + time + time:fixed_trait 其中fixed_trait,变量在个体之间会有所不同,但在个体内部却是恒定的。 与之互动time的目的fixed_trait是使效果fixed_trait随时间变化。(我从Paul Allison的最新固定效果手册中从事此工作。引文附后。) plm()毫不费力地估计此类模型的系数和标准误差。但是summary.plm()无法为这些模型计算R ^ 2。这是我要解决的问题。 这是一个最小的示例: library(plm) tmp <- data.frame(ID=rep(1:3, 2), year=rep(0:1, each=3), y=rnorm(6), const=rep(1:3, 2)) fe1 <- plm(y ~ year, index=c('ID', 'year'), data=tmp) fe2 <- plm(y ~ year + year:const, index=c('ID', 'year'), data=tmp) summary(fe1) # works fine summary(fe2) # Error …
16 r 

1
如何分析纵向计数数据:在GLMM中考虑时间自相关?
您好统计大师和R编程向导, 我对将动物捕获建模为环境条件和一年中的一天感兴趣。作为另一项研究的一部分,我统计了三年中约160天的捕获次数。在这几天的每一天,我都会获得温度,降雨,风速,相对湿度等信息。由于是从相同的5个地块重复收集数据,因此我将其用作随机效应。 我的理解是,nlme可以轻松解决残差中的时间自相关,但不能处理lme4这样的非高斯链接函数(无法处理自相关吗?)。目前,我认为在log(count)的R中使用nlme包可能会起作用。所以我现在的解决方案是运行类似的命令: m1 <- lme(lcount ~ AirT + I(AirT^2) + RainAmt24 + I(RainAmt24^2) + RHpct + windspeed + sin(2*pi/360*DOY) + cos(2*pi/360*DOY), random = ~1|plot, correlation = corARMA(p = 1, q = 1, form = ~DOY|plot), data = Data) DOY =一年中的一天。最终模型中可能会有更多的交互,但这是我的基本想法。我也可能尝试用类似的方法进一步对方差结构建模 weights = v1Pow 我不确定Poisson混合模型回归或其他方法是否有更好的方法?我刚刚在Kedem和Fokianos的“时间序列分析的回归模型”的第4章中找到了数学讨论。目前,这超出了我一点,尤其是在应用程序中(用R编码)。我在Zuur等人中也看到了MCMC解决方案。BUGS语言的混合效果模型书(Chp 23)(使用winBUGS或JAG)。那是我最好的选择吗?R中是否有一个简单的MCMC软件包可以解决这个问题?我不太了解GAMM或GEE技术,但是如果人们认为他们可以提供更好的见解,我将愿意探索这些可能性。我的主要目标是创建一个模型,以在给定环境条件下预测动物的捕获量。其次,我想解释一下动物对它们活动的反应。 任何关于最佳处理方式(从哲学上),如何在R或BUGS中进行编码的想法都将受到赞赏。我是R和BUGS(winBUGS)的新手,但正在学习。这也是我第一次尝试解决时间自相关。 谢谢,丹

11
如何开始学习R?
我已经尝试过几次以“自行完成”-但取得的成功有限。我是SPSS的临时用户,并且有一些SAS经验。 将感谢背景相似并且现在使用R的某人的一个或两个指针。
16 r  references 

1
从自定义分布生成随机样本
我正在尝试使用R从自定义pdf生成随机样本。我的pdf是: fX(x)=32(1−x2),0≤x≤1fX(x)=32(1−x2),0≤x≤1f_{X}(x) = \frac{3}{2} (1-x^2), 0 \le x \le 1 我生成了统一的样本,然后尝试将其转换为我的自定义发行版。我通过找到分布的cdf(FX(x)FX(x)F_{X}(x))并将其设置为统一样本(uuu)并求解xxx。 FX(x)=Pr[X≤x]=∫x032(1−y2)dy=32(x−x33)FX(x)=Pr[X≤x]=∫0x32(1−y2)dy=32(x−x33) F_{X}(x) = \Pr[X \le x] = \int_{0}^{x} \frac{3}{2} (1-y^2) dy = \frac{3}{2} (x - \frac{x^3}{3}) 为了生成与上述分布的随机样本,得到均匀的样品和求解X在3u∈[0,1]u∈[0,1]u \in[0,1]xxx32(x−x33)=u32(x−x33)=u\frac{3}{2} (x - \frac{x^3}{3}) = u 我实现了它,R但没有得到预期的分布。谁能指出我的理解上的缺陷? nsamples <- 1000; x <- runif(nsamples); f <- function(x, u) { return(3/2*(x-x^3/3) - u); } …
16 r  sampling  uniform 

2
是否可以使用R创建“平行集”图?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 感谢Tormod的问题(在此处发布),我遇到了“ 平行集”图。这是一个看起来像的例子:( 这是泰坦尼克号数据集的可视化。例如,显示了大多数未幸存的妇女是属于第三类的。) 我希望能够用R复制这样的情节。这有可能吗? 谢谢,塔尔

6
如何删除R数据帧中除一个特定的重复记录以外的所有记录?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 4年前关闭。 我有一个包含一些重复ID的数据框。我想删除具有重复ID的记录,仅保留具有最大值的行。 因此对于这样的结构(其他变量未显示): id var_1 1 2 1 4 2 1 2 3 3 5 4 2 我想生成这个: id var_1 1 4 2 3 3 5 4 2 我知道unique()和重复的(),但我不知道如何合并最大化规则...
16 r 

2
用面板/纵向数据对回归数据进行标准化是否是一种好习惯?
通常,为了标准化比较系数,我在回归中对独立变量进行了标准化(这样,它们具有相同的单位:标准偏差)。但是,对于面板/纵向数据,我不确定如何标准化我的数据,特别是如果我估计一个层次模型。 要了解为什么这可能是一个潜在问题,请假设您有i=1,…,ni=1,…,ni = 1, \ldots, n个沿着t=1,…,Tt=1,…,Tt=1,\ldots, T周期测量的个体,并且测量了因变量yi,tyi,ty_{i,t}和一个自变量xi,txi,tx_{i,t}。如果运行完整的池回归,则可以通过以下方式标准化数据:x.z=(x−mean(x))/sd(x)x.z=(x−mean(x))/sd(x)x.z = (x- \text{mean}(x))/\text{sd}(x),因为它不会更改t统计量。另一方面,如果您适合一个非池化回归,即每个个体的一个回归,那么您应该仅按个体而不是整个数据集(在R代码中)对数据进行标准化: for (i in 1:n) { for ( t in 1:T) x.z[i] = (x[i,t] - mean(x[i,]))/sd(x[i,]) } 但是,如果您将简单的层次模型拟合为具有不同个体截距的模型,那么您将使用收缩估计量,即,您正在估计池回归和非池回归之间的模型。我应该如何标准化我的数据?像汇总回归一样使用整个数据?只使用个人,例如在不公开的情况下?


2
汇总线性模型运行的结果R
由于回归建模通常比科学更“艺术”,因此我经常发现自己正在测试回归结构的许多迭代。有什么有效的方法可以汇总这些多个模型运行中的信息,从而找到“最佳”模型?我使用的一种方法是将所有模型放入列表并summary()在该列表中运行,但是我想有更有效的比较方法吗? 示例代码和模型: ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm1 <- lm(weight ~ group) lm2 <- lm(weight ~ group - 1) lm3 <- lm(log(weight) ~ group - 1) #Draw comparisions between models 1 - 3? models <- list(lm1, lm2, lm3) lapply(models, summary)
16 r  regression 

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.