【问题标题】:Error: $ operator is invalid for atomic vectors错误:$ 运算符对原子向量无效
【发布时间】:2015-10-02 08:45:11
【问题描述】:

我正在尝试对具有从 -2 到 2 的 lambda 值的变量(即 sqrt.CR)进行 boxcox 转换。在运行以下 R 代码时,它会给出无效原子向量的错误。后来在查看之前的帖子时,我看到很少有将矩阵转换为数据框的建议。尽管错误继续出现。有谁知道找出这个错误?

R 代码。

矩阵到数据框的转换

drivers.data<-as.data.frame(drivers)

Boxcox 转换。

drivers$box_CR<-boxcox(drivers.data$sqrt.CR,lambda=seq(-2,2))

【问题讨论】:

  • 请提供可重复性的样本数据。
  • sqrt.CR 0.62209324 0.42308392 0.34351128 0.67970582 0.27202941 0.61806149 0.46043458 0.37416574 0.36606010 0.44045431 0.39242834 0.45055521 0.31144823 0.09486833 0.67823300 0.41472883 0.52915026 0.38858718 0.33166248 0.40620192 跨度>

标签: r


【解决方案1】:

可能是因为包冲突,在MASS中,boxcox需要模型对象lm,而在bestNormalize中需要向量。

试试

bestNormalize::boxcox(drivers.data)

【讨论】:

    【解决方案2】:

    boxcox 的输入必须是 lm 或 aov 调用的输出,而不是您的数字向量。见?boxcox

    boxcox(对象,...)
    参数:
    对象:公式或拟合模型对象。目前只有“lm”和 'aov' 对象被处理。

    【讨论】:

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