gpt4 book ai didi

r - 使用“system is computationally singular”时出现'winsorize'错误

转载 作者:行者123 更新时间:2023-12-03 08:00:55 40 4
gpt4 key购买 nike

我将使用数据包winsorize将数据集robustHD除去一些异常值。这是我第一次遇到此错误。数据集包含50多个变量和100多个观察值。

我怎样才能解决这个问题?为什么矩阵奇异性对于像winsorize这样的计算很重要?谢谢。

df_win<-winsorize(df,prob=0.95)
Error in solve.default(R) : system is computationally singular: reciprocal condition number = 1.26103e-18

最佳答案

原因是winsorize中的robustHD使用solve。如果您深入研究代码,则数据帧上的winsorize将调用winsorize.data.frame方法,该方法只是运行as.matrix然后使用winsorize.matrix方法的脚本。这反过来会做很多事情,但是这里的问题是它使用了solve函数。

您收到的错误来自solve。由于您包括了一些高度相关的变量/列,或者更确切地说,它们是彼此线性组合,因此可能发生错误。您可能要检查是否有重复的变量或相互转换的变量。

您可以执行以下几项操作:

  • 删除高度相关的变量之一,然后重试。
  • checkout 其他软件包以使用winsorize
  • 编写自己的winsorize函数。

  • 进行第二步的最快方法:
    require(sos)
    findFn("winsorize")

    这将概述其描述中带有“winsorize”一词的所有功能。只需查找描述用于winsorization的功能。

    关于r - 使用“system is computationally singular”时出现'winsorize'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36403293/

    40 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com