javascript

git

java

python

git-remote

c++

github

django

c#

reactjs

node.js

performance

branch-prediction

git-commit

git-revert

validation

email-validation

undefined

scrum

kubernetes

r-将变量向量传递到km()公式中

我试图使我的代码片段自动化,以使编程变得不再那么乏味。

基本上,我试图使用rms包中的fastbw()逐步选择变量。 我想将fastbw()选择的变量列表传递给公式为y ~ x1+x2+x3,“ x1”“ x2”“ x3”是fastbw()选择的变量列表

这是我尝试但无法正常工作的代码

olsOAW0.r060 <- ols(roll_pct~byoy+trans_YoY+change18m, 
                    subset= helper=="POPNOAW0_r060", 
                    na.action = na.exclude, 
                    data = modelready)

OAW0 <- fastbw(olsOAW0.r060, rule="p", type="residual", sls= 0.05)

vec <- as.vector(OAW0$names.kept, mode="any")

b <- paste(vec, sep ="+") ##I even tried b <- paste(OAW0$names.kept, sep="+")

bestp.OAW0.r060 <- lm(roll_pct ~ b , 
                      data = modelready, 
                      subset = helper =="POPNOAW0_r060",    
                      na.action = na.exclude)

我是R语言的新手,但仍然没有走过陡峭的学习曲线,因此,对明显的编程失误表示歉意。

trans by 2020-08-01T16:08:26Z

r-收到警告:predict.lm上的“'newdata'有1行,但找到的变量有32行”

我在R中使用预测和lm函数时发现了特殊性。对于相同的数据,我对数据帧和向量有不同的结果。

DataFrame代码:

data(mtcars)
fitCar<-lm(mtcars$mpg~mtcars$wt)
predict(fitCar,
        data.frame(x=mean(mtcars$wt)),
        interval="confidence")

输出:

     fit       lwr      upr
1  23.282611 21.988668 24.57655
2  21.919770 20.752751 23.08679
3  24.885952 23.383008 26.38890
4  20.102650 19.003004 21.20230
5  18.900144 17.771469 20.02882
6  18.793255 17.659216 19.92729
7  18.205363 17.034274 19.37645
8  20.236262 19.136179 21.33635
9  20.450041 19.347720 21.55236
10 18.900144 17.771469 20.02882
11 18.900144 17.771469 20.02882
12 15.533127 14.064349 17.00190
13 17.350247 16.104455 18.59604
14 17.083024 15.809403 18.35664
15  9.226650  6.658271 11.79503
16  8.296712  5.547468 11.04596
17  8.718926  6.052112 11.38574
18 25.527289 23.927797 27.12678
19 28.653805 26.519252 30.78836
20 27.478021 25.554415 29.40163
21 24.111004 22.715653 25.50635
22 18.472586 17.319886 19.62529
23 18.926866 17.799465 20.05427
24 16.762355 15.452833 18.07188
25 16.735633 15.423002 18.04826
26 26.943574 25.112491 28.77466
27 25.847957 24.198041 27.49787
28 29.198941 26.963760 31.43412
29 20.343151 19.242185 21.44412
30 22.480940 21.268498 23.69338
31 18.205363 17.034274 19.37645
32 22.427495 21.219818 23.63517

警告信息:

'newdata'有1行,但是找到的变量有32行

当我将两个数据分离为向量时,我得到了不同的答案

矢量代码

predict(fit,data.frame(x=mean(x)), interval="confidence")

输出:

    fit   lwr   upr
1 20.09 18.99 21.19

造成这种差异的原因是什么?

trans by 2020-01-04T14:45:38Z

r-Predict()-也许我不了解我

我今天早些时候发布了有关使用lm函数时遇到的错误。 我能够纠正该错误,并认为自己走在正确的道路上。

我有很多观察(实际),并且我想推断或预测一些数据点。 我使用lm创建一个模型,然后尝试使用predict,其实际值将用作预测变量输入。

这段代码与我之前的文章重复了,但是这里是:

df <- read.table(text = '
     Quarter Coupon      Total
1   "Dec 06"  25027.072  132450574
2   "Dec 07"  76386.820  194154767
3   "Dec 08"  79622.147  221571135
4   "Dec 09"  74114.416  205880072
5   "Dec 10"  70993.058  188666980
6   "Jun 06"  12048.162  139137919
7   "Jun 07"  46889.369  165276325
8   "Jun 08"  84732.537  207074374
9   "Jun 09"  83240.084  221945162
10  "Jun 10"  81970.143  236954249
11  "Mar 06"   3451.248  116811392
12  "Mar 07"  34201.197  155190418
13  "Mar 08"  73232.900  212492488
14  "Mar 09"  70644.948  203663201
15  "Mar 10"  72314.945  203427892
16  "Mar 11"  88708.663  214061240
17  "Sep 06"  15027.252  121285335
18  "Sep 07"  60228.793  195428991
19  "Sep 08"  85507.062  257651399
20  "Sep 09"  77763.365  215048147
21  "Sep 10"  62259.691  168862119', header=TRUE)

str(df)
'data.frame':   21 obs. of  3 variables:
 $ Quarter   : Factor w/ 24 levels "Dec 06","Dec 07",..: 1 2 3 4 5 7 8 9 10 11 ...
 $ Coupon: num  25027 76387 79622 74114 70993 ...
 $ Total: num  132450574 194154767 221571135 205880072 188666980 ...

码:

model <- lm(df$Total ~ df$Coupon, data=df)

> model

Call:
lm(formula = df$Total ~ df$Coupon)

Coefficients:
(Intercept)    df$Coupon  
  107286259         1349 

预测代码(基于先前的帮助):

(这些是我要用来获取预测值的预测值)

Quarter = c("Jun 11", "Sep 11", "Dec 11")
Total = c(79037022, 83100656, 104299800)
Coupon = data.frame(Quarter, Total)

Coupon$estimate <- predict(model, newdate = Coupon$Total)

现在,当我运行该命令时,出现以下错误消息:

Error in `$<-.data.frame`(`*tmp*`, "estimate", value = c(60980.3823396919,  : 
  replacement has 21 rows, data has 3

我用来构建模型的原始数据框包含21个观测值。 我现在正在尝试根据模型预测3个值。

我不是真的不了解此功能,或者我的代码有错误。

帮助将不胜感激。

谢谢

trans by 2019-11-08T09:36:21Z

r-提取回归系数值

对于调查药物利用情况的一些时间序列数据,我有一个回归模型。 目的是使样条曲线适合时间序列并计算出95%CI等。模型如下:

id <- ts(1:length(drug$Date))
a1 <- ts(drug$Rate)
a2 <- lag(a1-1)
tg <- ts.union(a1,id,a2)
mg <-lm (a1~a2+bs(id,df=df1),data=tg) 

mg的摘要输出为:

Call:
lm(formula = a1 ~ a2 + bs(id, df = df1), data = tg)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.31617 -0.11711 -0.02897  0.12330  0.40442 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        0.77443    0.09011   8.594 1.10e-11 ***
a2                 0.13270    0.13593   0.976  0.33329    
bs(id, df = df1)1 -0.16349    0.23431  -0.698  0.48832    
bs(id, df = df1)2  0.63013    0.19362   3.254  0.00196 ** 
bs(id, df = df1)3  0.33859    0.14399   2.351  0.02238 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

我正在使用Pr(>|t|)值2562797205205547648001来测试正在调查的数据是否自相关。

是否可以提取此值Pr(>|t|)(在此模型中为0.33329)并将其存储在标量中以执行逻辑测试?

或者,可以使用其他方法解决吗?

trans by 2019-10-10T07:25:55Z

r - 如何简洁地从数据框中编写包含许多变量的公式?

假设我有一个响应变量和一个包含三个协变量的数据(作为玩具示例):

y = c(1,4,6)
d = data.frame(x1 = c(4,-1,3), x2 = c(3,9,8), x3 = c(4,-4,-2))

我想对数据进行线性回归:

fit = lm(y ~ d$x1 + d$x2 + d$y2)

有没有办法编写公式,这样我就不必写出每个协变量? 例如,像

fit = lm(y ~ d)

(我希望数据框中的每个变量都是一个协变量。)我问,因为我的数据框中实际上有50个变量,所以我想避免写出x1 + x2 + x3 + etc

trans by 2019-07-11T17:12:20Z

线性回归和R中的分组

我想使用lm()函数在R中进行线性回归。 我的数据是一年一度的时间序列,一年(22年),另一个州(50个州)。 我想为每个状态拟合一个回归,以便最后我有一个lm响应的向量。 我可以想象为每个状态做循环然后在循环内进行回归并将每个回归的结果添加到向量。 但是,这似乎不像R一样。 在SAS中我会做一个'by'语句,在SQL中我会做'group by'。 R的做法是什么?

trans by 2019-05-09T22:19:45Z

1 共1页