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-24 18:56:02 浏览: 18
这个错误可能是由于`femData`中包含非数值或缺失值导致的。可以使用下列代码排除非数值和缺失值:
```R
# 保留femData中所有数值型数据
femData_numeric <- femData[which(sapply(femData, is.numeric))]
# 计算中位数绝对偏差
MAD <- apply(femData_numeric, 1, mad, na.rm = TRUE)
```
这段代码将仅保留`femData`中的数值型数据,然后计算中位数绝对偏差。`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" 的错误。