Questions tagged «r»

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

1
如何使用准则找到和评估连续变量的最佳离散化?
我有一个包含连续变量和二进制目标变量(0和1)的数据集。 我需要相对于目标变量离散化连续变量(用于逻辑回归),并约束每个间隔的观察频率应该保持平衡。我尝试了机器学习算法,例如Chi Merge,决策树。Chi merge给我的间隔在每个间隔中具有非常不平衡的数字(一个间隔有3个观测值,另一个间隔有1000个观测值)。决策树很难解释。 我得出的结论是,最佳离散化应最大化离散化变量和目标变量之间的统计量,并且其间隔应包含大致相同数量的观察值。χ2χ2\chi^2 有解决这个问题的算法吗? 这在R中看起来是这样(def是目标变量,x是要离散化的变量)。我计算了Tschuprow的来评估转换后的变量与目标变量之间的“相关性”,因为统计量倾向于随着间隔数的增加而增加。我不确定这是否是正确的方法。χ 2ŤTTχ2χ2\chi^2 除了Tschuprow的(当班级数量减少时会增加)之外,还有其他方法可以评估我的离散化是否最佳吗?ŤTT chitest <- function(x){ interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE) X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic #Tschuprow Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1)))) print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup)) }

2
主成分分析输出的结论
我试图了解按以下方式进行的主成分分析的输出: > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa > res = prcomp(iris[1:4], scale=T) > …
9 r  pca  interpretation 

3
R季节性时间序列
我在中使用该decompose函数,R并提出了我每月时间序列的3个组成部分(趋势,季节性和随机性)。如果我绘制图表或查看表格,则可以清楚地看到时间序列受季节的影响。 但是,当我将时间序列回归到11个季节性虚拟变量时,所有系数都不具有统计显着性,表明没有季节性。 我不明白为什么我要得出两个截然不同的结果。有人发生过这种事吗?难道我做错了什么? 我在这里添加一些有用的细节。 这是我的时间序列以及相应的每月更改。在两个图表中,您都可以看到有季节性(或者这就是我想评估的)。特别是,在第二张图表(该系列的每月变化)中,我可以看到一个反复出现的模式(一年中相同月份的高点和低点)。 下面是该decompose函数的输出。我很欣赏@RichardHardy所说的,该函数不会测试是否存在实际的季节性。但是分解似乎证实了我的想法。 但是,当我对11个季节性虚拟变量(1月至11月,不包括12月)的时间序列进行回归时,会发现以下内容: Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5144454056 372840549 13.798 <2e-16 *** Jan -616669492 527276161 -1.170 0.248 Feb -586884419 527276161 -1.113 0.271 Mar -461990149 527276161 -0.876 0.385 Apr -407860396 527276161 -0.774 0.443 May -395942771 527276161 -0.751 0.456 Jun -382312331 527276161 -0.725 0.472 …

1
各种R二次编程求解器之间有什么区别?
我正在寻找一个软件包来帮助我解决一些二次优化问题,并且我发现至少有六个不同的软件包。根据此页面: QP(二次编程,90C20):cplexAPI,kernlab,limSolve,LowRankQP,quadprog,Rcplex,Rmosek 其中一些(Rmosek和cplexAPI)依赖于其他专有程序包,因此我对这些程序不感兴趣。 其他QP软件包之间的显着区别是什么?
9 r  optimization 

3
如何重新排列2D数据以获得给定的相关性?
我有以下带有两个连续变量的简单数据集;即: d = data.frame(x=runif(100,0,100),y = runif(100,0,100)) plot(d$x,d$y) abline(lm(y~x,d), col="red") cor(d$x,d$y) # = 0.2135273 我需要重新排列数据,以使变量之间的相关性达到〜0.6。我需要使两个变量的均值和其他描述性统计信息(sd,min,max等)保持恒定。 我知道可以与给定数据进行几乎任何关联,即: d2 = with(d,data.frame(x=sort(x),y=sort(y))) plot(d2$x,d2$y) abline(lm(y~x,d2), col="red") cor(d2$x,d2$y) # i.e. 0.9965585 如果我尝试将sample函数用于此任务: cor.results = c() for(i in 1:1000){ set.seed(i) d3 = with(d,data.frame(x=sample(x),y=sample(y))) cor.results = c(cor.results,cor(d3$x,d3$y)) } 我得到了很多相关性: > summary(cor.results) Min. 1st Qu. Median Mean 3rd Qu. …
9 r  correlation 

1
拟合二项响应的异方差广义线性模型
我从以下实验设计中获得了数据:我的观察结果是对K相应治疗次数()中成功次数()的计数,对N两组分别由I个体组成的两组进行了测量,这些结果来自T治疗,其中每个这样的因子组合中都有R重复项。因此,共我有2 * I * T * R ķ的和对应Ñ的。 数据来自生物学。每个人都是一个基因,我通过它测量两种替代形式的表达水平(由于一种称为替代剪接的现象)。因此,K是其中一种形式的表达水平,而N是这两种形式的表达水平的总和。在一个单一的表达拷贝的两种形式之间的选择被假定为一个伯努利试验,因此ķ出Ñ副本遵循二项式。每个组由约20个不同的基因组成,并且每个组中的基因具有某些共同的功能,这在两组之间是不同的。对于每组中的每个基因,我从三个不同的组织(治疗)中分别进行了约30次这样的测量。我想估计组和治疗对K / N方差的影响。 已知基因表达过度分散,因此在下面的代码中使用负二项式。 例如,R模拟数据的代码: library(MASS) set.seed(1) I = 20 # individuals in each group G = 2 # groups T = 3 # treatments R = 30 # replicates of each individual, in each group, in each treatment groups = letters[1:G] …

1
倾向得分加权对平均治疗效果的置信区间?
我试图使用倾向评分权重(特别是IPTW)从观察数据中估计平均治疗效果。我想我正在正确计算ATE,但是我不知道如何在考虑逆倾向得分权重的同时计算ATE的置信区间。 这是我用来计算平均治疗效果的方程式(参考Stat Med。2010年9月10日; 29(20):2137–2148。): 其中受试者总数,治疗状态,结果状态,倾向得分。ATE=1N∑1NZiYipi−1N∑1N(1−Zi)Yi1−piATE=1N∑1NZiYipi−1N∑1N(1−Zi)Yi1−piATE=\frac1N\sum_1^N\frac{Z_iY_i}{p_i}-\frac1N\sum_1^N\frac{(1-Z_i)Y_i}{1-p_i}N=N=N=Zi=Zi=Z_i=Yi=Yi=Y_i=pi=pi=p_i= 有人知道R包会考虑权重来计算平均治疗效果的置信区间吗?可以在survey这里包帮助吗?我想知道这是否行得通: library(survey) sampsvy=svydesign(id=~1,weights=~iptw,data=df) svyby(~surgery=='lump',~treatment,design=sampsvy,svyciprop,vartype='ci',method='beta') #which produces this result: treatment surgery == "lump" ci_l ci_u No 0.1644043 0.1480568 0.1817876 Yes 0.2433215 0.2262039 0.2610724 我不知道从哪里可以找到比例之间的差异的置信区间(即平均治疗效果)。

1
如何在广义线性混合模型中解释随机效应的方差
在逻辑广义线性混合模型(家庭=二项式)中,我不知道如何解释随机效应方差: Random effects: Groups Name Variance Std.Dev. HOSPITAL (Intercept) 0.4295 0.6554 Number of obs: 2275, groups: HOSPITAL, 14 我如何解释这个数值结果? 我在一项多中心研究中有一个肾移植患者的样本。我正在测试各中心接受特定抗高血压治疗的患者的机率是否相同。各中心之间接受治疗的患者比例差异很大,但这可能是由于患者基础特征的差异所致。因此,我估算了一个广义线性混合模型(逻辑模型),并调整了患者的主要特征。结果如下: Generalized linear mixed model fit by maximum likelihood ['glmerMod'] Family: binomial ( logit ) Formula: HTATTO ~ AGE + SEX + BMI + INMUNOTTO + log(SCR) + log(PROTEINUR) + (1 …
9 r  lme4-nlme 

2
混合分布的CDF逆采样
上下文外的简短版本 令为CDF yyyF(⋅)≡{θθ+(1−θ)×CDFlog-normal(⋅;μ,σ) y = 0 y > 0F(⋅)≡{θ y = 0 θ+(1−θ)×CDFlog-normal(⋅;μ,σ) y > 0 F(\cdot) \equiv \cases{\theta & y = 0 \\ \theta + (1-\theta) \times \text{CDF}_{\text{log-normal}}(\cdot; \mu, \sigma) & y > 0} 假设我想使用反CDF方法模拟绘制。那可能吗?此函数不完全具有逆函数。然后再次有两个正态分布的混合分布的逆变换采样,这表明这里有一种已知的方法可以应用逆变换采样。yyy 我知道两步法,但是我不知道如何将其应用于我的情况(请参见下文)。 带背景的长版 我使用MCMC(特别是Stan)为向量值响应拟合了以下模型:yi=(y1,…,yK)iyi=(y1,…,yK)iy^i = \left( y_1 , \dots , y_K \right)^i θik≡logit−1(αkxi),μik≡βkxi−σ2k2F(⋅)≡{θθ+(1−θ)×CDFlog-normal(⋅;μ,σ) y = …

2
使用波尔函数检查比例赔率假设是否在序数逻辑回归中成立
我已使用MASS软件包中的“ polr”函数对具有15个连续解释变量的序数分类响应变量运行序数逻辑回归。 按照UCLA指南中的建议,我已使用代码(如下所示)检查我的模型是否符合比例赔率假设。但是,我有点担心输出的含义,即不仅各个切点之间的系数都相似,而且也完全相同(请参见下图)。 FGV1b <- data.frame(FG1_val_cat=factor(FGV1b[,"FG1_val_cat"]), scale(FGV1[,c("X","Y","Slope","Ele","Aspect","Prox_to_for_FG", "Prox_to_for_mL", "Prox_to_nat_border", "Prox_to_village", "Prox_to_roads", "Prox_to_rivers", "Prox_to_waterFG", "Prox_to_watermL", "Prox_to_core", "Prox_to_NR", "PCA1", "PCA2", "PCA3")])) b <- polr(FG1_val_cat ~ X + Y + Slope + Ele + Aspect + Prox_to_for_FG + Prox_to_for_mL + Prox_to_nat_border + Prox_to_village + Prox_to_roads + Prox_to_rivers + Prox_to_waterFG + Prox_to_watermL + Prox_to_core …

1
有效卷积(以R为单位)
我想计算/评估卷积 G(x )=∫dF(x − t )ϕ (t )d牛逼,G(X)=∫dF(X-Ť)ϕ(Ť)dŤ,g(x)=\int_D f(x-t) \phi(t) dt, 哪里 FFf 是密度, ϕϕ\phi 平稳的功能,紧凑的支撑 ddD。卷积不是封闭形式的,我需要对其进行数值积分。我的问题是:是否有一种有效的方法来做到这一点?我想在R中实现它,所以,我想看看是否有比使用command更好的方法 integrate()。
9 r  convolution 

1
为什么这种多重插补质量低下?
考虑以下R代码: > data <- data.frame( a=c(NA,2,3,4,5,6),b=c(2.2,NA,6.1,8.3,10.2,12.13),c=c(4.2,7.9,NA,16.1,19.9,23)) > data a b c 1 NA 2.20 4.2 2 2 NA 7.9 3 3 6.10 NA 4 4 8.30 16.1 5 5 10.20 19.9 6 6 12.13 23.0 如您所见,我对数据进行了大致的设计c = 2*b = 4*a。因此,我希望缺少的值在左右a=1, b=2, c=12。所以我进行了分析: > imp <- mi(data) Beginning Multiple Imputation ( …

2
当CFA不能适用于多项目规模时该怎么办?
我不确定如何继续在拉瓦那做CFA。我有172名参与者的样本(我知道对于CFA来说不算多),还有28项具有7点李克特量表的项目,应该加载七个因素。我使用“ mlm”估计量进行了CFA,但模型拟合确实很差(χ2(df = 329)= 739.36;比较拟合指数(CFI)= 0.69;标准均方根残差(SRMR)=。10;近似均方根误差(RMSEA)=。09; RMSEA 90%置信区间(CI)= [.08,.10]。 我尝试了以下方法: 具有一个通用方法因子->的双因子模型未收敛。 序数数据的估计量(“ WLSMV”)—>模型拟合:(χ2(df = 329)= 462;比较拟合指数(CFI)= 0.81;标准化均方根残差(SRMR)=。09;均方根误差近似值(RMSEA)=。05; RMSEA 90%置信区间(CI)= [.04,.06]) 通过减少那些在因子上负荷较低的项目并在特定项目之间增加协方差的项目来简化模型->模型拟合:χ2(df = 210)= 295; 比较拟合指数(CFI)= 0.86;标准化均方根残差(SRMR)=。08; 近似均方根误差(RMSEA)=。07; RMSEA 90%置信区间(CI)= [.06,.08]。 现在我的问题是: 这样的模型应该怎么办? 在统计上正确的做法是什么? 报告它适合还是不适合?以及那些模型中的哪一个? 我很高兴与您讨论此事。 这是原始模型的CFA的lavaan输出: lavaan (0.5-17.703) converged normally after 55 iterations Used Total Number of observations 149 172 …

1
如何使用R生成具有时间相关协变量的生存数据
我想从包含时间相关协变量的Cox比例风险模型生成生存时间。该模型是 h(t|Xi)=h0(t)exp(γXi+αmi(t))h(t|Xi)=h0(t)exp⁡(γXi+αmi(t))h(t|X_i) =h_0(t) \exp(\gamma X_i + \alpha m_{i}(t)) 其中是从Binomial(1,0.5)和。XiXiX_imi(t)=β0+β1Xi+β2Xitmi(t)=β0+β1Xi+β2Xitm_{i}(t)=\beta_0 + \beta_1 X_{i} + \beta_2 X_{i} t 真实参数值用作γ=1.5,β0=0,β1=−1,β2=−1.5,h0(t)=1γ=1.5,β0=0,β1=−1,β2=−1.5,h0(t)=1\gamma = 1.5, \beta_0 = 0, \beta_1 = -1, \beta_2 = -1.5, h_0(t) = 1 对于与时间无关的协变量(即我生成如下h(t|Xi)=h0(t)exp(γXi)h(t|Xi)=h0(t)exp⁡(γXi)h(t|X_i) =h_0(t) \exp(\gamma X_i) #For time independent case # h_0(t) = 1 gamma <- -1 u <- runif(n=100,min=0,max=1) Xi …

2
聚类嘈杂的数据或与离群值
我有两个这样的变量的嘈杂数据。 x1 <- rep(seq(0,1, 0.1), each = 3000) set.seed(123) y1 <- rep (c(0.2, 0.8, 0.3, 0.9, 0.65, 0.35,0.7,0.1,0.25, 0.3, 0.95), each = 3000) set.seed(1234) e1 = rnorm(length(x1), 0.07,0.07) set.seed(1223) e2 = rnorm(length(x1), 0.07,0.07) set.seed(1334) yn <- rnorm(20000, 0.5,0.9) set.seed(2344) xn <- rnorm(20000, 0.5,0.9) y <- c(y1 + e1,yn) x <- …

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.