Questions tagged «r»

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

2
线性与非线性回归
我有一组值和,它们在理论上呈指数相关:Xxxÿyy ÿ= 一个Xby=axby = ax^b 一种获取系数的方法是在两侧应用自然对数并拟合线性模型: > fit <- lm(log(y)~log(x)) > a <- exp(fit$coefficients[1]) > b <- fit$coefficients[2] 获得此结果的另一种方法是使用非线性回归,给定一组理论上的起始值: > fit <- nls(y~a*x^b, start=c(a=50, b=1.3)) 如果应用第二种算法,我的测试将显示出更好且与理论相关的结果。但是,我想知道每种方法的统计意义和含义。 他们哪个更好?

1
结构方程式:如何在R lavaan包中指定相互作用效果
我正在使用R lavaan软件包来估计结构方程模型。假设模型由1个具有1个潜伏的内生清单变量和2个清单解释性变量组成: group = {0,1} attitude1 = latent,scale age = respondent's age 然后,所需的lavaan模型不起作用: model <- ' attitude1 =~ att1 + att2 + att3 outcome ~ age*group + attitude1*group' 我的目标是按照线性回归的方法,确定每个变量和组之间的主要作用和相互作用作用。能做到吗?
13 r  interaction  sem  lavaan 

3
如何计算R中的varimax旋转主成分?
我对25个变量运行PCA,并使用选择了前7台PC prcomp。 prc <- prcomp(pollutions, center=T, scale=T, retx=T) 然后,我对这些组件进行了varimax旋转。 varimax7 <- varimax(prc$rotation[,1:7]) 现在,我希望使用varimax旋转PCA旋转的数据(因为它不是varimax对象的一部分-仅包含加载矩阵和旋转矩阵)。我读到要做到这一点,您需要将旋转矩阵的转置乘以数据的转置,所以我会这样做: newData <- t(varimax7$rotmat) %*% t(prc$x[,1:7]) 但这没有意义,因为上面转置的矩阵的尺寸分别是和7 × 16933,所以我将只剩下7行矩阵,而不是16933行...有人知道吗?在这里做错了还是我的最后一行应该是什么?之后是否只需要移调回位?7 × 77×77\times 77 × 169337×169337 \times 16933777169331693316933
13 r  pca  factor-rotation 

4
插值可保留每周平均值的流感数据
编辑 我找到了一篇准确描述我所需程序的论文。唯一的不同是,论文将每月均值数据插值到每日,同时保留了每月均值。我很难在中实施该方法R。任何提示表示赞赏。 原版的 对于每周,我有以下计数数据(每周一个值): 医生会诊数 流感病例数 我的目标是通过插值获得每日数据(我想到了线性或截断的样条曲线)。重要的是,我要保留每周平均值,即每日内插数据的平均值应等于本周的记录值。此外,插值应平滑。可能出现的一个问题是某个星期少于7天(例如,在一年的开始或结束时)。 对此,我将不胜感激。 非常感谢。 以下是1995年的示例数据集(已更新): structure(list(daily.ts = structure(c(9131, 9132, 9133, 9134, 9135, 9136, 9137, 9138, 9139, 9140, 9141, 9142, 9143, 9144, 9145, 9146, 9147, 9148, 9149, 9150, 9151, 9152, 9153, 9154, 9155, 9156, 9157, 9158, 9159, 9160, 9161, 9162, 9163, 9164, 9165, 9166, 9167, 9168, …

3
在R中对大数据进行聚类并且与采样相关吗?
我是数据科学的新手,在查找R中具有200,000行和50列的数据集中的聚类时遇到问题。 由于数据同时具有数字变量和名义变量,因此使用Euclidean距离度量的K-means之类的方法似乎不是合适的选择。因此,我转向接受距离矩阵作为输入的PAM,agnes和hclust。 菊花方法可以处理混合类型的数据,但距离矩阵太大:200,000乘以200,000,比2 ^ 31-1(R 3.0.0之前的向量长度限制)大得多。 昨天发布的新R 3.0.0支持长度大于2 ^ 31-1的长向量。但是200,000 x 200,000的双矩阵需要大于16Gb的连续RAM,这在我的机器上是不可能的。 我读过有关并行计算和bigmemory包的信息,但不确定它们是否对您有帮助:如果我使用的是雏菊,它将生成一个大矩阵,该矩阵无论如何都无法容纳在内存中。 我还阅读了有关采样的文章: 采样与“大数据”时代相关吗? 因此,就我而言,对数据集使用抽样,对样本进行聚类然后推断整个数据集的结构是否相关? 你能给我一些建议吗?谢谢! 关于我的机器: R版本3.0.0(2013-04-03) 平台:x86_64-w64-mingw32 / x64(64位) 操作系统:Windows 7 64bit 内存:16.0GB

2
对于随机矩阵,SVD不应完全不解释吗?我究竟做错了什么?
如果我构建一个完全由随机数据组成的二维矩阵,我希望PCA和SVD组件本质上什么也不能解释。 相反,第一个SVD列似乎可以解释75%的数据。怎么可能呢?我究竟做错了什么? 这是情节: 这是R代码: set.seed(1) rm(list=ls()) m <- matrix(runif(10000,min=0,max=25), nrow=100,ncol=100) svd1 <- svd(m, LINPACK=T) par(mfrow=c(1,4)) image(t(m)[,nrow(m):1]) plot(svd1$d,cex.lab=2, xlab="SVD Column",ylab="Singluar Value",pch=19) percentVarianceExplained = svd1$d^2/sum(svd1$d^2) * 100 plot(percentVarianceExplained,ylim=c(0,100),cex.lab=2, xlab="SVD Column",ylab="Percent of variance explained",pch=19) cumulativeVarianceExplained = cumsum(svd1$d^2/sum(svd1$d^2)) * 100 plot(cumulativeVarianceExplained,ylim=c(0,100),cex.lab=2, xlab="SVD column",ylab="Cumulative percent of variance explained",pch=19) 更新资料 谢谢@亚伦。如您所述,解决方法是在矩阵上增加比例,以便数字以0为中心(即平均值为0)。 m <- scale(m, scale=FALSE) 这是校正后的图像,显​​示了对于具有随机数据的矩阵,第一SVD列接近预期的0。
13 r  pca  svd 

1
了解逻辑回归的预测
我来自逻辑回归模型(R中的glm)的预测并不像我期望的那样介于0和1之间。我对逻辑回归的理解是,您的输入和模型参数线性组合,并且使用对数链接函数将响应转换为概率。由于logit函数的范围是0到1,因此我希望我的预测范围是0到1。 但是,当我在R中实现逻辑回归时,这不是我看到的: data(iris) iris.sub <- subset(iris, Species%in%c("versicolor","virginica")) model <- glm(Species ~ Sepal.Length + Sepal.Width, data = iris.sub, family = binomial(link = "logit")) hist(predict(model)) 如果有的话,predict(model)的输出对我来说看起来很正常。谁能向我解释为什么我得到的值不是概率?

2
是否有用于连续时间纵向二进制响应的R包?
该bild软件包似乎是用于串行二进制响应的出色软件包。但这是离散时间。我想为时间响应的平滑函数指定电流响应Y的比值比对与在较早时间测量的二进制响应,或者至少是一阶马尔可夫版本。我相信这称为交替逻辑回归。有谁知道R包可以处理连续时间,即测量时间可以在任何后续时间进行吗?我不需要模型中的随机效应。

2
R中的随机微分方程的数值求解器:有吗?
我正在寻找一种通用,干净,快速(即使用C ++例程)的R包,用于使用Euler-Maruyama方案,Milstein方案(或任何其他方案)模拟非均匀非线性扩散(如(1))的路径。这注定要嵌入到更大的估计代码中,因此值得优化。 dXt=f(θ,t,Xt)dt+g(θ,t,Xt)dWt,(1)(1)dXt=f(θ,t,Xt)dt+g(θ,t,Xt)dWt,dX_t = f(\theta, t, X_t)\, dt + g(\theta, t, X_t)\, dW_t, \tag{1} 与标准布朗运动。 WtWtW_t

1
线性回归与空间自相关
我想使用通过遥感获得的一些变量来预测某个地区的树高。像近似生物量,等等。我想首先使用线性回归(我知道这不是最好的主意,但这对我的项目来说是必不可少的步骤)。我想知道空间自相关对它的影响有多严重,如果可能的话,最简单的纠正方法是什么。顺便说一下,我正在R中做所有事情。

3
PCA的成分真的代表方差百分比吗?它们的总和是否可以超过100%?
奥赖利(O'Reilly)的“黑客机器学习”说,每个主成分代表方差的百分比。我引用了以下页面的相关部分(第8章,第207页)。在与另一位专家交谈时,他们同意这是百分比。 但是,这24个组件的总和为133.2095%。这个怎么可能? 在说服自己可以使用PCA之后,我们如何在R中做到这一点?同样,这是R发挥作用的地方:整个PCA可以在一行代码中完成。我们使用princomp函数运行PCA: pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)]) 如果仅在R中键入pca,我们将看到主要组成部分的快速摘要: Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 29.1001249 20.4403404 12.6726924 11.4636450 8.4963820 8.1969345 5.5438308 Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 5.1300931 4.7786752 4.2575099 3.3050931 2.6197715 2.4986181 2.1746125 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19 Comp.20 Comp.21 1.9469475 …
13 r  pca 

1
帮助我了解贝叶斯glm中的
我正在尝试对此处的数据运行贝叶斯logit 。我在R bayesglm()中的arm包中使用。编码非常简单: df = read.csv("http://dl.dropbox.com/u/1791181/bayesglm.csv", header=T) library(arm) model = bayesglm(PASS ~ SEX + HIGH, family=binomial(link="logit"), data=df) summary(model) 给出以下输出: Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.10381 0.10240 1.014 0.311 SEXMale 0.02408 0.09363 0.257 0.797 HIGH -0.27503 0.03562 -7.721 1.15e-14 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 …
13 r  bayesian  p-value 


1
在R中使用glmnet进行预测
我正在尝试使用glmnetR中的包对一些数据进行建模。假设我有以下数据 training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3), variable2 = c(1, 2, 3, 4, 5)) y <- c(1, 2, 3, 4, 5) (这是一种简化;我的数据要复杂得多。)然后,我使用以下代码创建了glmnet模型。 x <- as.matrix(training_x) library(glmnet) GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755, nlambda=1000, standardize=FALSE, maxit=100000) 我正在使用,standardize=FALSE因为我的现实生活数据已经标准化。然后,我要对一组新数据进行预测。假设我的新数据是: newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, 3), variable2 = c(6, …
13 r  glmnet 

6
随机森林:如何处理测试集中的新因子水平?
我正在尝试使用R中的随机森林模型进行预测。 但是我得到了错误,因为某些因素在测试集中与训练集中具有不同的值。例如,一个因子在测试集中的Cat_2值34, 68, 76等不出现在训练集中。不幸的是,我无法控制测试集...我必须原样使用它。 我唯一的解决方法是使用将问题因子转换回数值as.numeric()。它的工作原理,但我不是很满意,因为这些值是没有意义的数字代码... 您是否认为还有另一种解决方案,可以从测试集中删除新值?但是,不删除1, 2, 14, 32训练和测试中所有其他因素值(比如说值等),并且包含可能对预测有用的信息。

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.