MAD <- apply(femData, 1, mad) Error in x - center : non-numeric argument to binary operator In addition: Warning message: In mean.default(sort(x, partial = half + 0L:1L)[half + 0L:1L]) : 参数不是数值也不是逻辑值:回覆NA
时间: 2024-02-27 15:55:53 浏览: 17
这个错误和警告信息表明在应用 `mad` 函数时输入数据存在非数值型的变量或者缺失值。`mad` 函数是计算中位数绝对偏差的函数,它需要数值型的数据作为输入。因此,您需要检查 `femData` 中是否存在非数值型的变量或缺失值,并对其进行处理,例如删除或转换为数值型。具体地说,可以使用下面的代码来查看哪些变量是非数值型的:
```
sapply(femData, class)
```
另外,还需要检查 `femData` 中是否存在缺失值。如果存在缺失值,可以使用下面的代码将其删除:
```
femData <- na.omit(femData)
```
如果您想保留缺失值,可以使用 `mad` 函数的 `na.rm` 参数来忽略缺失值,例如:
```
MAD <- apply(femData, 1, mad, na.rm = TRUE)
```
相关问题
MAD <- apply(expression_data_df, 1, mad) Error in x - center : non-numeric argument to binary operator
这个错误通常表示您的表达式数据框中有非数值型的数据。`MAD`函数只能计算数值型数据的中位数绝对偏差。您可以使用`is.numeric()`函数来检查每个单元格是否为数值型数据,并使用`as.numeric()`函数将非数值型数据转换为数值型数据。您可以尝试以下代码来进行转换:
```
expression_data_df[] <- lapply(expression_data_df, function(x) {
if(is.numeric(x)) x else as.numeric(as.character(x))
})
```
这将会将所有的非数值型数据转换为数值型数据,然后您可以重新运行 `MAD <- apply(expression_data_df, 1, mad)`。
error in y - ymean : non-numeric argument to binary operator in addition: wa
出现 "error in y - ymean : non-numeric argument to binary operator" 的错误是因为运算符操作中的一个变量(即y)不是一个数值类型的变量。这是因为 "ymean" 已经定义为一个非数值类型的变量或者y本身就是一个非数值类型的变量。
错误的提示中还包含了 "in addition: wa" 的字样,这意味着在运算过程中,不仅出现了非数值的y变量,还出现了非数值的 "wa" 变量。
要解决这个错误,我们需要确保y和ymean都是数值类型的变量。可以通过以下步骤来修复这个错误:
1. 检查变量ymean是否正确地定义为数值类型,如果不是,请将其更改为数值类型。
2. 检查y变量是否正确地定义为数值类型,如果不是,请将其更改为数值类型。
3. 确保变量wa是一个数值类型的变量,并且在进行加法运算之前,检查它的值是否正确。
一旦以上步骤都完成,重新运行代码,错误就应该解决了。确保所有的变量都是正确定义和赋值的,以避免出现 "non-numeric argument to binary operator" 的错误。