【问题标题】:model.matrix Error: $ operator is invalid for atomic vectorsmodel.matrix 错误:$ 运算符对原子向量无效
【发布时间】:2019-01-15 00:50:55
【问题描述】:

我在使用“model.matrix”时遇到了这个错误。

data_A <- data.frame(X1 = c("Y","N"), X2 = c(20,24), Y = c("N","Y"))
data_A
model.matrix("Y ~ X1 + X2", data_A)
Error: $ operator is invalid for atomic vectors

导致问题的原因是什么?

【问题讨论】:

    标签: r operator-keyword model.matrix


    【解决方案1】:

    检查?model.matrix。一个sn-p:

         ## Default S3 method:
         model.matrix(object, data = environment(object),
                      contrasts.arg = NULL, xlev = NULL, ...)
    
    Arguments:
    
      object: an object of an appropriate class.  For the default method, a
              model formula or a ‘terms’ object.
    

    您的object 是一个字符串公式,而datadata_Aobject 参数应该是一个公式或术语对象,如所述。试试

    model.matrix(Y ~ X1 + X2, data_A)
    

    或等效(如果您是从字符串构造公式)

    model.matrix(as.formula(Y ~ X1 + X2), data_A)
    

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 2020-06-21
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      相关资源
      最近更新 更多