解决R语言报错:Error in y + 1:non-numeric argument to binary operator

 更新时间:2022年11月04日 09:51:31   作者:白尔特  
R语言编程中的常见错误有一些错误是R的初学者和经验丰富的R程序员都可能常犯的,下面这篇文章主要给大家介绍了关于解决R语言报错:Error in y + 1:non-numeric argument to binary operator的相关资料,需要的朋友可以参考下

因为花了2天半才解决,中间痛苦的寻找,记录一下解决的流程与经验

报错信息:

1Error in y + 1 : non-numeric argument to binary operator

报错原因:

数据不是可计算的 numeric 或 integer 类型

原代码:

图片描述

a = read.table(file = study.txt", sep = "\t",
  header = T, row.names = 1
  )
class(a[3, 3])    # integer
aa = t(d)
class(aa[3, 3])   # character
b = sparcc(aa)
# 出现报错
Error in y + 1 : non-numeric argument to binary operator

报错原因解析:

1. 转置后数据类型变为character,因为numeric数据中存在character类型的脏数据

(原因:转置函数t() 是先将dataframe转换为矩阵matrix,而matrix只有一种数据类型。所以如果存在character,所有数据都会被转换成character)

如何发现是否有character脏数据:

read.table设置参数colClasses = “numeric”(确保数据框内只有numeric类型)

a = read.table(file = study.txt", sep = "\t",
  header = T, row.names = 1
  colClasses = "numeric"   # 添加的参数
  )
  
  # 出现报错
  Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : 
  scan() expected 'a real', got 'f__Cenarchaeaceae'

报错意为 数据框内存在“f__Cenarchaeaceae”,不属于numeric

查看txt内部

2. 引入character脏数据的原因

# 后续分析需要:设置data第一列列名为空格
genus <- data[1]
colnames(genus) <- " "
# 根据列名提取子集
 a <- subset(data, select = (disID[, 1]))

subset()函数将列名为 空格blank 的也提取了,导致了character脏数据的进入

总结

到此这篇关于解决R语言报错:Error in y + 1:non-numeric argument to binary operator的文章就介绍到这了,更多相关R语言报错1Error in y + 1 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • R语言绘制双坐标图的案例详解

    R语言绘制双坐标图的案例详解

    这篇文章主要介绍了R语言绘制双坐标图,下面就跟大家介绍plotrix包中的twoord.plot()函数和twoord.stackplot()函数,它们可以实现双坐标轴图形的绘制,需要的朋友可以参考下
    2023-01-01
  • R语言编程数学分析重读微积分理解极限算法

    R语言编程数学分析重读微积分理解极限算法

    这篇文章主要为大家介绍了R语言编程重读微积分数学分析理解极限算法的详细过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • R语言如何实现多元线性回归

    R语言如何实现多元线性回归

    这篇文章主要给大家介绍了关于R语言如何实现多元线性回归的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言学习之线图的绘制详解

    R语言学习之线图的绘制详解

    线图是反映趋势变化的一种方式,其输入数据一般也是一个矩阵。本文将利用R语言绘制单线图、多线图以及横轴文本线图,感兴趣的可以了解一下
    2022-03-03
  • Rstudio 修改工作路径(三种方法总结)

    Rstudio 修改工作路径(三种方法总结)

    这篇文章主要介绍了Rstudio 修改工作路径(三种方法总结),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言控制结构知识点总结

    R语言控制结构知识点总结

    在本篇文章里小编给大家整理一篇关于R语言控制结构知识点总结内容,有兴趣的朋友们可以学习参考下。
    2021-03-03
  • R语言开发之输出折线图的操作

    R语言开发之输出折线图的操作

    这篇文章主要介绍了R语言开发之输出折线图的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言绘制数据可视化小提琴图Violin plot with dot画法

    R语言绘制数据可视化小提琴图Violin plot with dot画法

    这篇文章主要为大家介绍了R语言绘制数据可视化小提琴图Violin plot with dot画法的示例详解有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02
  • R语言关于协方差分析实例分析

    R语言关于协方差分析实例分析

    在本篇内容里小编给大家整理的是一篇关于R语言关于协方差分析实例分析内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • R语言绘制维恩图ggvenn示例详解

    R语言绘制维恩图ggvenn示例详解

    这篇文章主要为大家介绍了R语言绘制维恩图ggvenn示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论