Questions tagged «r»

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

2
如何在R中使用lmer()测试泊松GLMM中的过度分散?
我有以下模型: > model1<-lmer(aph.remain~sMFS1+sAG1+sSHDI1+sbare+season+crop +(1|landscape),family=poisson) ...这是摘要输出。 > summary(model1) Generalized linear mixed model fit by the Laplace approximation Formula: aph.remain ~ sMFS1 + sAG1 + sSHDI1 + sbare + season + crop + (1 | landscape) AIC BIC logLik deviance 4057 4088 -2019 4039 Random effects: Groups Name Variance Std.Dev. landscape (Intercept) …

5
R中的功能选择包,可同时进行回归和分类
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我是R的新手。我正在学习机器学习。非常抱歉,如果这个问题看起来很基础。我试图在R中找到一个不错的功能选择包。我通过了Boruta包。这是一个很好的软件包,但我读到它仅对分类有用。 我想在R中为回归任务实现特征选择。我仔细阅读了插入符号包文档,但就我而言,这很难理解。 任何人都可以请我指向一个好的教程或在R中列出任何好的软件包或最常用的软件包进行功能选择。 任何帮助,将不胜感激。提前致谢。




1
反季节化计数数据
我在R中使用stl()将计数数据分解为趋势,季节和不规则成分。结果趋势值不再是整数。我有以下问题: stl()是使计数数据反季节化的合适方法吗? 由于结果趋势不再是整数值,因此我可以使用lm()建模趋势成分吗?

2
随机森林:如果我知道变量很重要怎么办
我的理解是随机森林随机选择mtry变量来构建每个决策树。因此,如果mtry = ncol / 3,则每个变量平均将在1/3的树中使用。而2/3的树木将不会使用它们。 但是,如果我知道单个变量可能非常重要,那么手动增加在每棵树中选择此变量的可能性会很好吗?R中的randomForest包可行吗?

1
R中重复测量的线性回归
我无法弄清楚如何在R in中执行线性回归以进行重复测量设计。在上一个问题(仍未回答)中,建议我不要使用lm而是使用混合模型。我lm以以下方式使用: lm.velocity_vs_Velocity_response <- lm(Velocity_response~Velocity*Subject, data=mydata) (有关数据集的更多详细信息,请参见上面的链接) 但是,我无法在Internet上找到任何带有R代码的示例,该示例显示了如何执行线性回归分析。 我想要的是,一方面是数据的图,一条线与数据相吻合,另一方面,值与p值一起用于模型的显着性检验。[R2R2R^2 有没有人可以提供一些建议?任何R代码示例都可能有很大帮助。 编辑 根据我到目前为止收到的建议,分析我的数据以了解两个变量Velocity_response(源自调查表)和Velocity(源自绩效)之间是否存在线性关系的解决方案应为: library(nlme) summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject)) 摘要的结果如下: > summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject)) Linear mixed-effects model fit by REML Data: scrd AIC BIC logLik 104.2542 126.1603 -30.1271 Random effects: Formula: ~1 | Subject (Intercept) Residual StdDev: …

3
时间序列上的STL具有缺失值以进行异常检测
我正在尝试在气候数据的时间序列中检测到一些异常值,但缺少一些观测值。在网上搜索,我发现了许多可用的方法。从消除趋势和季节性成分并研究其余部分的意义上讲,其中的stl分解似乎很有吸引力。阅读STL:一种基于黄土的季节性趋势分解程序,stl在确定分配可变性的设置方面似乎很灵活,不受异常值的影响,即使缺少值也可以应用。但是,尝试使用R,经过四年的观察并根据http://stat.ethz.ch/R-manual/R-patched/library/stats/html/stl.html定义所有参数,我遇到了错误: "time series contains internal NAs"(当时na.action=na.omit)和 "series is not periodic or has less than two periods"(当时na.action=na.exclude)。 我仔细检查了频率是否正确定义。我在博客中看到了相关问题,但是没有找到任何可以解决此问题的建议。不可能stl在缺少值的系列中应用?我非常不愿意对它们进行插值,因为我不想引入(并因此检测...)工件。出于同样的原因,我不知道改为使用ARIMA方法是多么明智(如果缺少值仍然是个问题)。 如果您知道一种适用stl于缺失值的系列的方法,或者您认为我的选择在方法上不合理,或者您有更好的建议,请分享。我是该领域的新手,但堆满了(似乎...)相关信息。

1
为什么基于稀疏数据的协方差矩阵的本征和SVD分解会产生不同的结果?
我正在尝试基于稀疏/不连续的数据集分解协方差矩阵。我注意到,svd随着越来越差的数据,λ的总和(解释方差)用来计算。没有差距,svd并eigen获得相同的结果。 eigen分解似乎不会发生这种情况。我一直倾向于使用,svd因为lambda值始终为正,但是这种趋势令人担忧。是否需要某种校正,或者应该svd完全避免此类问题。 ###Make complete and gappy data set set.seed(1) x <- 1:100 y <- 1:100 grd <- expand.grid(x=x, y=y) #complete data z <- matrix(runif(dim(grd)[1]), length(x), length(y)) image(x,y,z, col=rainbow(100)) #gappy data zg <- replace(z, sample(seq(z), length(z)*0.5), NaN) image(x,y,zg, col=rainbow(100)) ###Covariance matrix decomposition #complete data C <- cov(z, use="pair") E <- eigen(C) …
12 r  svd  eigenvalues 

2
randomForest选择回归而不是分类
我在R中使用randomForest包并使用虹膜数据,生成的随机森林是一个分类,但是当我使用具有约700个要素(要素为28x28像素图像中的每个像素)的数据集时,标签列被命名为label,randomForest生成的是回归。我正在使用以下行: rf <- randomForest(label ~ ., data=train) 为什么使用回归而不是分类?数据通过读取read.csv()。
12 r  random-forest 

1
绘制具有多个预测变量的Logit模型的概率曲线
我有以下概率函数: Prob=11+e−zProb=11+e−z\text{Prob} = \frac{1}{1 + e^{-z}} 哪里 z=B0+B1X1+⋯+BnXn.z=B0+B1X1+⋯+BnXn.z = B_0 + B_1X_1 + \dots + B_nX_n. 我的模特看起来像 Pr(Y=1)=11+exp(−[−3.92+0.014×(bid)])Pr(Y=1)=11+exp⁡(−[−3.92+0.014×(bid)])\Pr(Y=1) = \frac{1}{1 + \exp\left(-[-3.92 + 0.014\times(\text{bid})]\right)} 这通过如下所示的概率曲线可视化。 我正在考虑在原始回归方程式中添加几个变量。假设我在模型中添加了性别(类别:F和M)和年龄(类别:<25和> 26),最后得到: Pr(Y=1)=11+exp(−[−3.92+0.014×(bid)+0.25×(gender)+0.15×(age)])Pr(Y=1)=11+exp⁡(−[−3.92+0.014×(bid)+0.25×(gender)+0.15×(age)])\Pr(Y=1) = \frac{1}{1 + \exp\left(-[-3.92 + 0.014\times(\text{bid}) + 0.25\times(\text{gender}) + 0.15\times(\text{age})]\right)} 在RI中可以生成类似的概率曲线,当考虑所有三个预测变量时,它将告诉我Y = 1的概率。我迷路的地方是我想找到这些变化的每种可能排列的概率。 因此,当出价= 1,性别= M,年龄> = 26时,Y = 1的概率是多少?同样,当出价= 2,性别= F,年龄> …

1
将复杂模型重复拟合到大数据集时,如何优化计算效率?
使用MCMCglmmR中的程序包运行混合效果模型时出现性能问题。代码如下: MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical" , prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0))) , slice=T, nitt=iter, ,burnin=burn, verbose=F) 数据中大约有20,000个观测值,它们聚集在大约200所学校中。在运行之前,我从数据框中删除了所有未使用的变量,并从内存中删除了所有其他对象。我的问题是,除非将迭代次数减少到无法接受的程度,否则运行时间将非常长。经过50,000次迭代,需要5个小时,而且我要运行许多不同的模型。所以我想知道是否有加速代码执行的方法,或者我可以使用其他软件包。我正在使用,MCMCglmm因为我想要随机效果的置信区间。 另一方面,我希望在今年晚些时候购买一台新PC,但运气好的话,我也许可以将其推广,所以我一直在想如何最好地在新硬件上花有限的钱-更多的RAM ,更快的CPU等。通过观察任务管理器,我不认为RAM是问题(它永远不会超过物理使用的50%),但是CPU使用率也不会超过50%,这让我感到奇怪。我当前的设置是Intel Core i5 2.66GHz,4GB RAM,7200rpm HDD。以尽可能多的RAM为代价,获取尽可能快的CPU是否合理?我还想知道3级CPU缓存大小对像这样的统计计算问题的影响吗? 更新:已经问的元SO我一直建议重新措辞上的超级用户的问题和岗位。为此,我需要提供有关MCMCglmm中“幕后工作”的详细信息。我是否认为大部分的计算时间都花在了优化上,这是对的吗?我的意思是找到一些复杂函数的最大值?矩阵求逆和/或其他线性代数运算是否也是可能引起瓶颈的常见运算?我将非常感激能够提供给超级用户社区的任何其他信息。

2
如何模拟功能数据?
我正在尝试测试各种功能数据分析方法。理想情况下,我想测试关于模拟功能数据的方法。我试图使用一种基于求和高斯噪声(以下代码)的方法来生成模拟FD,但与真实物体相比,所得曲线看起来过于坚固。 我想知道是否有人指向函数/思想以生成更逼真的模拟功能数据。特别地,这些应该是平滑的。我是该领域的新手,欢迎任何建议。 library("MASS") library("caTools") VCM<-function(cont,theta=0.99){ Sigma<-matrix(rep(0,length(cont)^2),nrow=length(cont)) for(i in 1:nrow(Sigma)){ for (j in 1:ncol(Sigma)) Sigma[i,j]<-theta^(abs(cont[i]-cont[j])) } return(Sigma) } t1<-1:120 CVC<-runmean(cumsum(rnorm(length(t1))),k=10) VMC<-VCM(cont=t1,theta=0.99) sig<-runif(ncol(VMC)) VMC<-diag(sig)%*%VMC%*%diag(sig) DTA<-mvrnorm(100,rep(0,ncol(VMC)),VMC) DTA<-sweep(DTA,2,CVC) DTA<-apply(DTA,2,runmean,k=5) matplot(t(DTA),type="l",col=1,lty=1)

2
给定数据集自动确定概率分布
给定一个数据集: x <- c(4.9958942,5.9730174,9.8642732,11.5609671,10.1178216,6.6279774,9.2441754,9.9419299,13.4710469,6.0601435,8.2095239,7.9456672,12.7039825,7.4197810,9.5928275,8.2267352,2.8314614,11.5653497,6.0828073,11.3926117,10.5403929,14.9751607,11.7647580,8.2867261,10.0291522,7.7132033,6.3337642,14.6066222,11.3436587,11.2717791,10.8818323,8.0320657,6.7354041,9.1871676,13.4381778,7.4353197,8.9210043,10.2010750,11.9442048,11.0081195,4.3369520,13.2562675,15.9945674,8.7528248,14.4948086,14.3577443,6.7438382,9.1434984,15.4599419,13.1424011,7.0481925,7.4823108,10.5743730,6.4166006,11.8225244,8.9388744,10.3698150,10.3965596,13.5226492,16.0069239,6.1139247,11.0838351,9.1659242,7.9896031,10.7282936,14.2666492,13.6478802,10.6248561,15.3834373,11.5096033,14.5806570,10.7648690,5.3407430,7.7535042,7.1942866,9.8867927,12.7413156,10.8127809,8.1726772,8.3965665) ..我想通过参数估计来确定最合适的概率分布(伽玛,贝塔,正态,指数,泊松,卡方等)。我已经知道以下链接上的问题,其中使用R提供了解决方案:https : //stackoverflow.com/questions/2661402/given-a-set-of-random-numbers-drawn-from-a-连续单变量分布-f 建议的最佳解决方案如下: > library(MASS) > fitdistr(x, 't')$loglik #$ > fitdistr(x, 'normal')$loglik #$ > fitdistr(x, 'logistic')$loglik #$ > fitdistr(x, 'weibull')$loglik #$ > fitdistr(x, 'gamma')$loglik #$ > fitdistr(x, 'lognormal')$loglik #$ > fitdistr(x, 'exponential')$loglik #$ 并选择具有最小loglik值的分布。但是,其他干扰(例如beta分布)需要在fitdistr()函数中指定一些附加参数: fitdistr(x, 'beta', list(shape1 = some value, shape2= some value)). 鉴于我正在尝试在没有任何先验信息的情况下确定最佳分布,因此我不知道每种分布的参数值可能是多少。是否有另一种解决方案考虑了这一要求?它不必在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.