小编Vin*_*ent的帖子

应用于'NULL'类型的非(列表或向量)的is.na()是什么意思?

我想从没有NA的data.frame中选择具有正向过程的Cox模型.以下是一些示例数据:

test <- data.frame(
  x_1   = runif(100,0,1),
  x_2   = runif(100,0,5),
  x_3   = runif(100,10,20),
  time  = runif(100,50,200),
  event = c(rep(0,70),rep(1,30))
)
Run Code Online (Sandbox Code Playgroud)

这个表没有任何意义,但如果我们尝试建立一个模型:

modeltest <- coxph(Surv(time, event) ~1, test)
modeltest.forward <- step(
  modeltest, 
  data      = test, 
  direction = "forward", 
  scope     = list(lower = ~ 1, upper = ~ x_1 + x_2 + x_3)
)
Run Code Online (Sandbox Code Playgroud)

前锋在第一步结束时说:

在is.na(fit $ coefficients)中:is.na()应用于'NULL'类型的非(列表或向量)

(三次)

我试图改变上部模型,我甚至试过upper = ~ 1但警告仍然存在.我不明白:我没有NAs,我的载体都是数字(我检查过).我搜索了人们是否有同样的问题,但由于矢量的名称或类别,我能找到的只是问题.

我的代码出了什么问题?

r cox-regression na

9
推荐指数
1
解决办法
3万
查看次数

VBA在特定范围的细胞和受保护细胞中清除价值,不会被洗去配方

我有类似A1的数据:Z50但是我想只使用VBA删除A5:X50(我认为它比拖动整个单元格或使用要快得多clickA5+shift+clickX50+delete).我怎样才能做到这一点 ?

然后,如何锁定单元格以防止它被修复或清除?

excel vba excel-vba

7
推荐指数
2
解决办法
18万
查看次数

SAS:将字符转换为数字而不创建另一个变量

我想转换x为数字.

DATA test;
  input x $1.;
  cards;
  1
  2
  0
  ;
run;
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法:

日志打印以下注释:

NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column).
      2470:3
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      2470:4
Run Code Online (Sandbox Code Playgroud)

格式不会改变.

日志打印以下注释:

NOTE: Numeric …
Run Code Online (Sandbox Code Playgroud)

sas type-conversion

7
推荐指数
1
解决办法
3万
查看次数

Python Plotly 时区在 x 轴烛台中设置不正确

当我将 plotly 与 datetime 一起使用时,它显示了错误的时间,例如 8/12/2017 10:00am,但 plotly 的 plotly 显示为 8/12/2017 2:00am。

我想以日期时间为 x 轴绘制烛台,日期时间初始化如下:

    today = datetime.datetime.now()
    self.start_time = today.replace(second=0, microsecond=0)
    num_data_points = 90

    # define OHLC data variable for plotting candles
    self.open_data = [0] * num_data_points
    self.high_data = [0] * num_data_points
    self.low_data = [0] * num_data_points
    self.close_data = [0] * num_data_points

    self.time_interval = datetime.timedelta(minutes=time_interval)
    self.datetime_data = [self.start_time+datetime.timedelta(minutes=i) for i in range(num_data_points)]
Run Code Online (Sandbox Code Playgroud)

并使用 plotly 如下:

    layout = go.Layout(
        plot_bgcolor = '#fafafa',
        yaxis = dict( domain = [0, 0.2], …
Run Code Online (Sandbox Code Playgroud)

python timezone datetime plotly

4
推荐指数
1
解决办法
1553
查看次数

与BIC的正向程序

我正在尝试使用前向逐步算法和BIC标准为线性模型选择变量.正如帮助文件所示,并且像往常一样,我写了以下内容:

model.forward<-lm(y~1,data=donnees)
model.forward.BIC<-step(model.forward,direction="forward", k=log(n), scope=list(lower = ~1, upper = ~x1+x2+x3), data=donnees)
Run Code Online (Sandbox Code Playgroud)

k=log(n)表明我使用BIC.但R回归:

Error in extractAIC.lm(fit, scale, k = k, ...) : object 'n' not found
Run Code Online (Sandbox Code Playgroud)

我从来没有真正问过自己这个问题,但我认为n应该在函数中定义step(它是每次迭代中模型中变量的数量)....无论如何,这个问题从来没有发生在我之前!重新启动R不会改变任何内容,我承认我不知道会导致此错误的原因.

这是一些要测试的代码:

y<-runif(20,0,10)
x1<-runif(20,0,1)
x2<-y+runif(20,0,5)
x3<-runif(20,0,1)-runif(20,0,1)*y
donnees<-data.frame(x1,x2,x3,y)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

r

2
推荐指数
1
解决办法
2182
查看次数

迭代时限制%do%

我想在宏函数中运行while/until循环,并且限制其最大迭代次数.我找到了如何在'通常'sas中做到这一点:

 data dataset;
    do i=1 to 10 until(condition);      /*10 iterations max */
        /* stuff */
    end;
 run;
Run Code Online (Sandbox Code Playgroud)

但如果我在宏功能中尝试它:

 %macro mf;
 data dataset;
 %do i=1 %to 10 %until(nrow(X)>10);      /*10 iterations max */
 /* stuff */
 %end;
 run;
 %mend;

%mf;
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

ERROR: Improper use of macro reserved word until.
ERROR: A dummy macro will be compiled.
ERROR: Required operator not found in expression: 10 %until(nrow(X)>10)
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro MF will stop …
Run Code Online (Sandbox Code Playgroud)

sas sas-macro

2
推荐指数
1
解决办法
5051
查看次数